|
MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
|
| void MayaFlux::Portal::Graphics::TextureLoom::upload_data | ( | const std::shared_ptr< Core::VKImage > & | image, |
| const void * | data, | ||
| size_t | size, | ||
| const std::shared_ptr< Buffers::VKBuffer > & | staging | ||
| ) |
Upload pixel data reusing a caller-supplied persistent staging buffer.
Identical to upload_data() but skips the per-call VkBuffer allocation, eliminating the Vulkan object churn that causes VK_ERROR_DEVICE_LOST under sustained per-frame texture updates (e.g. video playback).
| image | Target VKImage (must already be initialised). |
| data | Pixel data pointer (at least size bytes). |
| size | Byte count — must match the image footprint. |
| staging | Host-visible staging VKBuffer from create_streaming_staging(). |
Definition at line 343 of file TextureLoom.cpp.
References MayaFlux::Journal::ImageProcessing, is_initialized(), m_resource_manager, MF_ERROR, MayaFlux::Journal::Portal, and MayaFlux::Core::BackendResourceManager::upload_image_data_with_staging().
Here is the call graph for this function: