|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
| std::shared_ptr< Core::VKImage > MayaFlux::Kakshya::WindowContainer::to_image | ( | const std::shared_ptr< Buffers::VKBuffer > & | staging | ) | const |
Upload the full surface readback to a new VKImage, reusing a caller-supplied persistent staging buffer.
Allocates the VKImage without pixel data, then uploads via the provided staging buffer, bypassing the per-call VkBuffer allocation inside TextureLoom. Use TextureLoom::create_streaming_staging() to allocate the staging buffer once before the render loop.
| staging | Host-visible staging VKBuffer sized to at least width * height * bytes_per_pixel. |
Definition at line 188 of file WindowContainer.cpp.
References MayaFlux::Journal::ContainerProcessing, MayaFlux::Kakshya::ContainerDataStructure::get_height(), MayaFlux::Kakshya::ContainerDataStructure::get_width(), h, MayaFlux::Portal::Graphics::TextureLoom::instance(), MayaFlux::Journal::Kakshya, lock(), m_data_mutex, m_processed_data, m_structure, m_window, MF_RT_ERROR, MF_RT_WARN, pixels, and MayaFlux::Kakshya::query_surface_format().
Here is the call graph for this function: