MayaFlux 0.1.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 224 of file StagingUtils.cpp.

225{
226 auto buffer = std::make_shared<VKBuffer>(
227 size,
228 VKBuffer::Usage::STAGING,
229 Kakshya::DataModality::UNKNOWN);
230
231 auto buffer_service = Registry::BackendRegistry::instance()
232 .get_service<Registry::Service::BufferService>();
233 if (!buffer_service) {
234 error<std::runtime_error>(
235 Journal::Component::Buffers,
236 Journal::Context::BufferProcessing,
237 std::source_location::current(),
238 "create_staging_buffer requires a valid buffer service");
239 }
240
241 buffer_service->initialize_buffer(buffer);
242
243 return buffer;
244}
Backend buffer management service interface.

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

Referenced by MayaFlux::Buffers::GeometryBindingsProcessor::bind_geometry_node(), MayaFlux::Buffers::NetworkGeometryProcessor::bind_network(), MayaFlux::Buffers::TextureBindingsProcessor::bind_texture_node(), download_from_gpu(), and upload_to_gpu().

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