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

◆ dispatch_async()

Portal::Graphics::FenceID MayaFlux::Yantra::TextureExecutionContext::dispatch_async ( const input_type input)
inline

Non-blocking dispatch.

If datum.container holds a TextureContainer it is uploaded and staged before submission. Fence becomes signaled when GPU work completes. Call collect_result() (SCALAR mode) or retrieve the output Datum via execute() (CONTAINER mode) once signaled.

Parameters
inputDataIO whose container field drives optional image staging.
Returns
FenceID to poll with ShaderFoundry::is_fence_signaled.

Definition at line 209 of file TextureExecutionContext.hpp.

210 {
211 if (!ensure_gpu_ready())
213
214 auto [channels, structure_info] = extract_inputs(input);
215 return dispatch_core_async(channels, structure_info);
216 }
Core::GlobalInputConfig input
Definition Config.cpp:38
Portal::Graphics::FenceID dispatch_core_async(const std::vector< std::vector< double > > &channels, const DataStructureInfo &structure_info)
Non-blocking variant of dispatch_core.
bool ensure_gpu_ready()
Ensure GPU resources are initialised.
std::pair< std::vector< std::vector< double > >, DataStructureInfo > extract_inputs(const input_type &input) override
Stashes the TextureContainer from datum.container for use in on_before_gpu_dispatch; returns empty ch...
constexpr FenceID INVALID_FENCE

References input.