|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API void MayaFlux::Buffers::download_device_local | ( | const std::shared_ptr< VKBuffer > & | source, |
| const std::shared_ptr< VKBuffer > & | target, | ||
| const std::shared_ptr< VKBuffer > & | staging_buffer | ||
| ) |
Download data from a device-local buffer using a staging buffer.
| source | Source VKBuffer to download data from |
| target | Target VKBuffer to store the downloaded data |
| staging_buffer | Host-visible staging VKBuffer used for the download |
This function handles downloading data from a device-local VKBuffer by utilizing a staging buffer. It issues a command to copy the data from the device-local buffer to the staging buffer, invalidates the staging buffer memory, and then copies the data into a CPU-accessible format to update the target buffer.
Definition at line 166 of file StagingUtils.cpp.
References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, MayaFlux::Registry::BackendRegistry::get_service(), and MayaFlux::Registry::BackendRegistry::instance().
Referenced by MayaFlux::Buffers::VKBuffer::clone_to(), MayaFlux::Buffers::BufferDownloadProcessor::download_device_local(), and download_from_gpu().
Here is the call graph for this function:
Here is the caller graph for this function: