|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API void MayaFlux::Buffers::download_back_buffer | ( | const VKBufferResources::GenerationSlot & | slot, |
| void * | data, | ||
| size_t | size, | ||
| std::shared_ptr< VKBuffer > & | staging | ||
| ) |
Download a raw back_buffers slot to host memory.
| slot | Source slot, typically from VKBuffer::get_back_buffer(). |
| size | Byte count to copy. |
| data | Destination pointer, at least size bytes. |
| staging | Persistent staging buffer for device-local slots. Ignored, and may be null, when slot.mapped_ptr is already valid. |
Reads slot.mapped_ptr directly when present (host-visible slot, no transfer). Otherwise records a fenced copy into staging exactly as download_from_gpu_async does, using slot.buffer as the copy source.
Definition at line 294 of file StagingUtils.cpp.
References MayaFlux::Buffers::VKBufferResources::GenerationSlot::buffer, MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, create_staging_buffer(), MayaFlux::Registry::BackendRegistry::get_service(), MayaFlux::Registry::BackendRegistry::instance(), and MayaFlux::Buffers::VKBufferResources::GenerationSlot::mapped_ptr.
Referenced by MayaFlux::Buffers::BufferDownloadProcessor::download_back_buffers(), MayaFlux::Buffers::RelaxationStepProcessor::on_after_execute(), and MayaFlux::Buffers::VolumeGridBuffer::read_field().
Here is the call graph for this function:
Here is the caller graph for this function: