MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ create_staging_buffer()

MAYAFLUX_API std::shared_ptr< VKBuffer > MayaFlux::Buffers::create_staging_buffer ( size_t  size)

Create staging buffer for transfers.

Parameters
sizeSize in bytes
Returns
Host-visible staging buffer ready for transfers

Definition at line 345 of file StagingUtils.cpp.

346{
347 auto buffer = std::make_shared<VKBuffer>(
348 size,
349 VKBuffer::Usage::STAGING,
350 Kakshya::DataModality::UNKNOWN);
351
352 auto buffer_service = Registry::BackendRegistry::instance()
353 .get_service<Registry::Service::BufferService>();
354 if (!buffer_service) {
355 error<std::runtime_error>(
356 Journal::Component::Buffers,
357 Journal::Context::BufferProcessing,
358 std::source_location::current(),
359 "create_staging_buffer requires a valid buffer service");
360 }
361
362 buffer_service->initialize_buffer(buffer);
363
364 return buffer;
365}
Backend buffer management service interface.

References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, MayaFlux::Registry::BackendRegistry::get_service(), MayaFlux::Registry::BackendRegistry::instance(), and MayaFlux::Kakshya::UNKNOWN.

Referenced by MayaFlux::Buffers::MeshProcessor::allocate_gpu_buffers(), MayaFlux::Buffers::MeshNetworkProcessor::allocate_gpu_buffers(), MayaFlux::Buffers::GeometryBindingsProcessor::bind_geometry_node(), MayaFlux::Buffers::NetworkGeometryProcessor::bind_network(), download_back_buffer(), download_from_gpu(), download_from_gpu_async(), MayaFlux::Buffers::DataWriteProcessor::ensure_capacity(), MayaFlux::Buffers::NetworkGeometryProcessor::ensure_staging(), MayaFlux::Buffers::FormaProcessor::on_attach(), MayaFlux::Buffers::InstanceSSBOProcessor::on_attach(), MayaFlux::Buffers::DataWriteProcessor::on_attach(), MayaFlux::Buffers::FormaProcessor::processing_function(), upload_back_buffer_async(), MayaFlux::Buffers::GeometryBindingsProcessor::upload_index_data(), and upload_to_gpu().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: