|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
| Portal::Graphics::FenceID MayaFlux::Yantra::GpuResourceManager::dispatch_async | ( | const std::string & | key, |
| const std::array< uint32_t, 3 > & | groups, | ||
| const std::vector< GpuBufferBinding > & | bindings, | ||
| const uint8_t * | push_constant_data, | ||
| size_t | push_constant_size | ||
| ) |
Submit a compute dispatch without blocking.
Records the same command sequence as dispatch() but submits via ShaderFoundry::submit_async instead of submit_and_wait. Returns a FenceID immediately. Readback must be deferred until ShaderFoundry::is_fence_signaled returns true for the returned ID.
| key | Pipeline unit to dispatch. |
| groups | Workgroup counts {x, y, z}. |
| bindings | Binding declarations; output barriers inserted. |
| push_constant_data | Pointer to push constant bytes, or nullptr. |
| push_constant_size | Byte count of push constant data. |
Definition at line 656 of file GpuResourceManager.cpp.
References b, MayaFlux::Portal::Graphics::ShaderFoundry::COMPUTE, MayaFlux::Portal::Graphics::get_compute_press(), MayaFlux::Portal::Graphics::get_shader_foundry(), MayaFlux::Portal::Graphics::GpuBufferBinding::IMAGE_SAMPLED, MayaFlux::Portal::Graphics::GpuBufferBinding::IMAGE_STORAGE, MayaFlux::Portal::Graphics::GpuBufferBinding::INPUT_OUTPUT, MayaFlux::is_image(), MayaFlux::Portal::Graphics::GpuBufferBinding::OUTPUT, and unit_for().
Referenced by MayaFlux::Yantra::GpuDispatchCore::dispatch_core_async().
Here is the call graph for this function:
Here is the caller graph for this function: