Open 3D Engine Meshlets Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::Meshlets::MultiDispatchComputePass Class Referencefinal

#include <MultiDispatchComputePass.h>

Inherits RPI::ComputePass.

Public Member Functions

 AZ_RTTI (MultiDispatchComputePass, "{13B3BAC7-0F12-4C23-BD9E-F82A7830195E}", RPI::ComputePass)
 
 AZ_CLASS_ALLOCATOR (MultiDispatchComputePass, SystemAllocator)
 
void AddDispatchItems (AZStd::list< RHI::DispatchItem * > &dispatchItems)
 Thread-safe function for adding the frame's dispatch items.
 
void CompileResources (const RHI::FrameGraphCompileContext &context) override
 
Data::Instance< RPI::Shader > GetShader ()
 Returns the shader held by the ComputePass.
 

Static Public Member Functions

static RPI::Ptr< MultiDispatchComputePassCreate (const RPI::PassDescriptor &descriptor)
 

Protected Member Functions

 MultiDispatchComputePass (const RPI::PassDescriptor &descriptor)
 
void OnShaderReinitialized (const AZ::RPI::Shader &shader) override
 
void OnShaderAssetReinitialized (const Data::Asset< AZ::RPI::ShaderAsset > &shaderAsset) override
 
void OnShaderVariantReinitialized (const AZ::RPI::ShaderVariant &shaderVariant) override
 
void BuildShaderAndRenderData ()
 

Detailed Description

Multi Dispatch Pass - this pass will handle multiple dispatch submission during each frame - one dispatch per mesh, each represents group of compute threads that will be working to create meshlets of the given mesh. This class can be generalized in the future to become a base class for this dispatch submission. [To Do] - revisit the 'BuildCommandListInternal' method and refactor to handle 'under the hood' RHI CPU threads that carries the submissions in parallel


The documentation for this class was generated from the following file: