Open 3D Engine Atom 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::RHI::CommandList Class Referenceabstract

Inherited by AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

Classes

struct  SubmitRange
 

Public Member Functions

virtual void SetViewports (const Viewport *viewports, uint32_t count)=0
 Assigns a list of viewports to the raster stage of the graphics pipe.
 
virtual void SetScissors (const Scissor *scissors, uint32_t count)=0
 Assigns a list of scissors to the raster stage of the graphics pipe.
 
void SetScissor (const Scissor &scissor)
 Assigns a scissor to the raster stage of the graphics pipe.
 
void SetViewport (const Viewport &viewport)
 Assigns a viewport to the raster stage of the graphics pipe.
 
virtual void SetShaderResourceGroupForDraw (const ShaderResourceGroup &shaderResourceGroup)=0
 
virtual void SetShaderResourceGroupForDispatch (const ShaderResourceGroup &shaderResourceGroup)=0
 
virtual void Submit (const CopyItem &copyItem, uint32_t submitIndex=0)=0
 Submits a single copy item for processing on the command list.
 
virtual void Submit (const DrawItem &drawItem, uint32_t submitIndex=0)=0
 Submits a single draw item for processing on the command list.
 
virtual void Submit (const DispatchItem &dispatchItem, uint32_t submitIndex=0)=0
 Submits a single dispatch item for processing on the command list.
 
virtual void Submit (const DispatchRaysItem &dispatchRaysItem, uint32_t submitIndex=0)=0
 Submits a single dispatch rays item for processing on the command list.
 
virtual void BeginPredication (const Buffer &buffer, uint64_t offset, PredicationOp operation)=0
 Starts predication on the command list.
 
virtual void EndPredication ()=0
 End predication on the command list.
 
virtual void BuildBottomLevelAccelerationStructure (const RHI::RayTracingBlas &rayTracingBlas)=0
 Builds a Bottom Level Acceleration Structure (BLAS) for ray tracing operations, which is made up of RayTracingGeometry entries.
 
virtual void BuildTopLevelAccelerationStructure (const RHI::RayTracingTlas &rayTracingTlas)=0
 Builds a Top Level Acceleration Structure (TLAS) for ray tracing operations, which is made up of RayTracingInstance entries that refer to a BLAS entry.
 
void SetSubmitRange (const SubmitRange &submitRange)
 Sets the submit range for this command list.
 
void ValidateSubmitIndex (uint32_t submitIndex)
 Validates a submit index against the range for this command list, and tracks the total number of submits.
 
void ValidateTotalSubmits (const ScopeProducer *scopeProducer)
 Validates the total number of submits against the expected number.
 
void ResetTotalSubmits ()
 Resets the total number of submits.
 
virtual void SetFragmentShadingRate (ShadingRate rate, const ShadingRateCombinators &combinators=DefaultShadingRateCombinators)=0
 

Static Public Attributes

static const ShadingRateCombinators DefaultShadingRateCombinators
 Default value of shading rate combinator operations.
 

Member Function Documentation

◆ BeginPredication()

virtual void AZ::RHI::CommandList::BeginPredication ( const Buffer buffer,
uint64_t  offset,
PredicationOp  operation 
)
pure virtual

Starts predication on the command list.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ BuildBottomLevelAccelerationStructure()

virtual void AZ::RHI::CommandList::BuildBottomLevelAccelerationStructure ( const RHI::RayTracingBlas rayTracingBlas)
pure virtual

Builds a Bottom Level Acceleration Structure (BLAS) for ray tracing operations, which is made up of RayTracingGeometry entries.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ BuildTopLevelAccelerationStructure()

virtual void AZ::RHI::CommandList::BuildTopLevelAccelerationStructure ( const RHI::RayTracingTlas rayTracingTlas)
pure virtual

Builds a Top Level Acceleration Structure (TLAS) for ray tracing operations, which is made up of RayTracingInstance entries that refer to a BLAS entry.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ EndPredication()

virtual void AZ::RHI::CommandList::EndPredication ( )
pure virtual

End predication on the command list.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ SetFragmentShadingRate()

virtual void AZ::RHI::CommandList::SetFragmentShadingRate ( ShadingRate  rate,
const ShadingRateCombinators &  combinators = DefaultShadingRateCombinators 
)
pure virtual

Sets the Per-Draw shading rate value. This rate will be used for all subsequent draw calls of this command list. Combinators can also be specified as part of setting the rate. For ShadingRateCombinators = { Op1, Op2 }, the final value is calculated as Op2(Op1(PerDraw, PerPrimitive), PerRegion)

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ SetScissors()

virtual void AZ::RHI::CommandList::SetScissors ( const Scissor scissors,
uint32_t  count 
)
pure virtual

Assigns a list of scissors to the raster stage of the graphics pipe.

Implemented in AZ::Vulkan::CommandList, AZ::DX12::CommandList, AZ::Metal::CommandList, and AZ::Null::CommandList.

◆ SetShaderResourceGroupForDispatch()

virtual void AZ::RHI::CommandList::SetShaderResourceGroupForDispatch ( const ShaderResourceGroup shaderResourceGroup)
pure virtual

Assigns a shader resource group for dispatch on compute pipe, at the binding slot determined by the layout used to create the shader resource group.

Parameters
shaderResourceGroupThe shader resource group to bind.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ SetShaderResourceGroupForDraw()

virtual void AZ::RHI::CommandList::SetShaderResourceGroupForDraw ( const ShaderResourceGroup shaderResourceGroup)
pure virtual

Assigns a shader resource group for draw on the graphics pipe, at the binding slot determined by the layout used to create the shader resource group.

Parameters
shaderResourceGroupThe shader resource group to bind.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ SetViewports()

virtual void AZ::RHI::CommandList::SetViewports ( const Viewport viewports,
uint32_t  count 
)
pure virtual

Assigns a list of viewports to the raster stage of the graphics pipe.

Implemented in AZ::Vulkan::CommandList, AZ::DX12::CommandList, AZ::Metal::CommandList, and AZ::Null::CommandList.

◆ Submit() [1/4]

virtual void AZ::RHI::CommandList::Submit ( const CopyItem copyItem,
uint32_t  submitIndex = 0 
)
pure virtual

Submits a single copy item for processing on the command list.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ Submit() [2/4]

virtual void AZ::RHI::CommandList::Submit ( const DispatchItem dispatchItem,
uint32_t  submitIndex = 0 
)
pure virtual

Submits a single dispatch item for processing on the command list.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ Submit() [3/4]

virtual void AZ::RHI::CommandList::Submit ( const DispatchRaysItem dispatchRaysItem,
uint32_t  submitIndex = 0 
)
pure virtual

Submits a single dispatch rays item for processing on the command list.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.

◆ Submit() [4/4]

virtual void AZ::RHI::CommandList::Submit ( const DrawItem drawItem,
uint32_t  submitIndex = 0 
)
pure virtual

Submits a single draw item for processing on the command list.

Implemented in AZ::DX12::CommandList, AZ::Metal::CommandList, AZ::Null::CommandList, and AZ::Vulkan::CommandList.


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