|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
| void MayaFlux::Kakshya::TextureContainer::from_image_array | ( | const std::shared_ptr< Core::VKImage > & | image, |
| const std::shared_ptr< Buffers::VKBuffer > & | staging | ||
| ) |
Download all array layers from a VKImage, reusing a caller-supplied persistent staging buffer.
Identical to from_image_array() but passes staging through to TextureLoom::download_data. The staging buffer must be at least byte_size() * get_layer_count() bytes. Use Buffers::create_image_staging_buffer(byte_size() * get_layer_count()) to allocate it once before the render loop.
| image | Source VKImage with array_layers >= get_layer_count(). |
| staging | Host-visible staging VKBuffer sized to at least byte_size() * get_layer_count(). |
Definition at line 313 of file TextureContainer.cpp.
References byte_size(), MayaFlux::Journal::ContainerProcessing, MayaFlux::Portal::Graphics::TextureLoom::download_data(), image, MayaFlux::Portal::Graphics::TextureLoom::instance(), MayaFlux::Journal::Kakshya, m_channels, m_cpu_stale, m_data, m_format, m_height, m_normalised_dirty, m_slot_locks, m_width, MayaFlux::Kakshya::make_empty_storage(), MF_ERROR, ptr, MayaFlux::Kakshya::READY, update_processing_state(), and MayaFlux::Kakshya::variant_bytes_mutable().
Here is the call graph for this function: