|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
| Portal::Graphics::FenceID MayaFlux::Yantra::GpuResourceManager::dispatch_async | ( | 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.
| 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 448 of file GpuResourceManager.cpp.
References MayaFlux::Portal::Graphics::ShaderFoundry::COMPUTE, MayaFlux::Portal::Graphics::get_compute_press(), MayaFlux::Portal::Graphics::get_shader_foundry(), MayaFlux::Yantra::GpuBufferBinding::IMAGE_SAMPLED, MayaFlux::Yantra::GpuBufferBinding::IMAGE_STORAGE, MayaFlux::Yantra::GpuBufferBinding::INPUT_OUTPUT, MayaFlux::is_image(), m_descriptor_set_ids, m_impl, m_pipeline_id, and MayaFlux::Yantra::GpuBufferBinding::OUTPUT.
Referenced by MayaFlux::Yantra::GpuDispatchCore::dispatch_core_async().
Here is the call graph for this function:
Here is the caller graph for this function: