74 void on_attach(
const std::shared_ptr<Buffer>& buffer)
override;
75 void on_detach(
const std::shared_ptr<Buffer>& buffer)
override;
76 void processing_function(
const std::shared_ptr<Buffer>& buffer)
override;
91 bool m_streaming_mode {};
103 void initialize_gpu_resources();
108 void upload_initial_geometry();
113 void upload_initial_pixels();
122 void update_geometry_if_dirty();
127 void update_pixels_if_dirty();
136 std::shared_ptr<Core::VKImage> create_gpu_texture();
142 void generate_quad_vertices(std::vector<uint8_t>& out_bytes);
PixelSource
Source of pixel data for GPU uploads.
bool is_streaming_mode() const
Check if streaming mode is enabled.
void invalidate_staging()
Invalidate the persistent streaming staging buffer.
virtual std::optional< Kakshya::DataVariant > get_variant_source()
~TextureProcessor() override
void set_streaming_mode(bool enabled)
Enable or disable streaming mode for pixel uploads.
std::shared_ptr< TextureBuffer > m_texture_buffer
std::shared_ptr< Buffers::VKBuffer > m_stream_staging
Persistent host-visible staging buffer for streaming pixel uploads.
Internal processor: handles CPU→GPU transfers for TextureBuffer.