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

◆ resolve_transfer()

MAYAFLUX_API void MayaFlux::Buffers::resolve_transfer ( TransferHandle handle)

Wait for a transfer and release its resources.

Parameters
handleHandle from upload_back_buffer_async. Nulled on return.

No-op on a null handle. Blocks the calling thread until the fence signals, which is immediate when a frame or more has elapsed since submission.

Definition at line 195 of file StagingUtils.cpp.

196{
197 if (!handle)
198 return;
199
200 auto buffer_service = Registry::BackendRegistry::instance()
201 .get_service<Registry::Service::BufferService>();
202
203 if (buffer_service && buffer_service->wait_fenced && buffer_service->release_fenced) {
204 buffer_service->wait_fenced(handle);
205 buffer_service->release_fenced(handle);
206 }
207
208 handle.reset();
209}
std::function< void(const std::shared_ptr< void > &)> wait_fenced
Wait for a fenced submission to complete.
Backend buffer management service interface.

References MayaFlux::Registry::BackendRegistry::get_service(), MayaFlux::Registry::BackendRegistry::instance(), and MayaFlux::Registry::Service::BufferService::wait_fenced.

Referenced by MayaFlux::Buffers::VolumeGridBuffer::read_field(), MayaFlux::Buffers::VolumeGridBuffer::seed_raw(), upload_back_buffer(), and MayaFlux::Buffers::VolumeGridBuffer::~VolumeGridBuffer().

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