|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API void MayaFlux::Buffers::upload_device_local | ( | const std::shared_ptr< VKBuffer > & | target, |
| const std::shared_ptr< VKBuffer > & | staging_buffer, | ||
| const Kakshya::DataVariant & | data | ||
| ) |
Upload data to a device-local buffer using a staging buffer.
| target | Target VKBuffer to upload data into |
| staging_buffer | Host-visible staging VKBuffer used for the upload |
| data | DataVariant containing the data to upload |
This function handles uploading data from a Kakshya::DataVariant into a device-local VKBuffer by utilizing a staging buffer. It copies the data into the staging buffer, flushes it, and then issues a command to copy from the staging buffer to the target device-local buffer.
Definition at line 61 of file StagingUtils.cpp.
References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, MayaFlux::Registry::BackendRegistry::get_service(), MayaFlux::Kakshya::DataAccess::gpu_buffer(), and MayaFlux::Registry::BackendRegistry::instance().
Referenced by MayaFlux::Buffers::VKBuffer::clone_to(), MayaFlux::Buffers::BufferUploadProcessor::upload_device_local(), and upload_to_gpu().
Here is the call graph for this function:
Here is the caller graph for this function: