|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
| Portal::Graphics::FenceID MayaFlux::Yantra::GpuResourceManager::dispatch_sequence_async | ( | const std::vector< std::string > & | keys, |
| const std::vector< std::array< uint32_t, 3 > > & | groups_per_key, | ||
| const std::vector< std::vector< uint8_t > > & | push_constants_per_key, | ||
| const std::vector< std::vector< Portal::Graphics::HazardResource > > & | hazards_per_key, | ||
| const std::vector< Portal::Graphics::IndirectDispatch > & | indirect_per_key = {} |
||
| ) |
Non-blocking counterpart of dispatch_sequence.
Records the identical command buffer and submits it via ShaderFoundry::submit_async instead of submit_and_wait. Barriers owed to each stage's hazards are recorded as in dispatch_sequence, including the one after the final stage, so a caller that does not await the fence still gets the trailing dependency for anything submitted later.
Like dispatch_sequence, and unlike dispatch_async, no shader-write to host-read barrier is recorded. Host reads after the fence has signaled rely on the fence's own visibility guarantee and on the buffers being host coherent.
Definition at line 865 of file GpuResourceManager.cpp.
References MayaFlux::Portal::Graphics::get_shader_foundry(), and record_sequence_commands().
Referenced by MayaFlux::Yantra::GpuDispatchCore::dispatch_core_dependency_async().
Here is the call graph for this function:
Here is the caller graph for this function: