Open 3D Engine Atom Gem API Reference 25.05.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 DeviceShaderResourceGroup &shaderResourceGroup)=0
 
virtual void SetShaderResourceGroupForDispatch (const DeviceShaderResourceGroup &shaderResourceGroup)=0
 
virtual void Submit (const DeviceCopyItem &copyItem, uint32_t submitIndex=0)=0
 Submits a single copy item for processing on the command list.
 
virtual void Submit (const DeviceDrawItem &drawItem, uint32_t submitIndex=0)=0
 Submits a single draw item for processing on the command list.
 
virtual void Submit (const DeviceDispatchItem &dispatchItem, uint32_t submitIndex=0)=0
 Submits a single dispatch item for processing on the command list.
 
virtual void Submit (const DeviceDispatchRaysItem &dispatchRaysItem, uint32_t submitIndex=0)=0
 Submits a single dispatch rays item for processing on the command list.
 
virtual void BeginPredication (const DeviceBuffer &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::DeviceRayTracingBlas &rayTracingBlas)=0
 Builds a Bottom Level Acceleration Structure (BLAS) for ray tracing operations, which is made up of DeviceRayTracingGeometry entries.
 
virtual void UpdateBottomLevelAccelerationStructure (const RHI::DeviceRayTracingBlas &rayTracingBlas)=0
 Updates a Bottom Level Acceleration Structure (BLAS) for ray tracing operations, which is made up of DeviceRayTracingGeometry entries.
 
virtual void QueryBlasCompactionSizes (const AZStd::vector< AZStd::pair< RHI::DeviceRayTracingBlas *, RHI::DeviceRayTracingCompactionQuery * > > &blasToQuery)=0
 Inserts queries for the size of the compacted Blas.
 
virtual void CompactBottomLevelAccelerationStructure (const RHI::DeviceRayTracingBlas &sourceBlas, const RHI::DeviceRayTracingBlas &compactBlas)=0
 Copies the given sourceBlas into the compactBlas.
 
virtual void BuildTopLevelAccelerationStructure (const RHI::DeviceRayTracingTlas &rayTracingTlas, const AZStd::vector< const RHI::DeviceRayTracingBlas * > &changedBlasList)=0
 
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 DeviceBuffer 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::DeviceRayTracingBlas rayTracingBlas)
pure virtual

Builds a Bottom Level Acceleration Structure (BLAS) for ray tracing operations, which is made up of DeviceRayTracingGeometry 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::DeviceRayTracingTlas rayTracingTlas,
const AZStd::vector< const RHI::DeviceRayTracingBlas * > &  changedBlasList 
)
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

◆ CompactBottomLevelAccelerationStructure()

virtual void AZ::RHI::CommandList::CompactBottomLevelAccelerationStructure ( const RHI::DeviceRayTracingBlas sourceBlas,
const RHI::DeviceRayTracingBlas compactBlas 
)
pure virtual

Copies the given sourceBlas into the compactBlas.

Implemented in AZ::Null::CommandList, AZ::DX12::CommandList, AZ::Metal::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 DeviceShaderResourceGroup 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 DeviceShaderResourceGroup 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 DeviceCopyItem 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 DeviceDispatchItem 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 DeviceDispatchRaysItem 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 DeviceDrawItem 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.

◆ UpdateBottomLevelAccelerationStructure()

virtual void AZ::RHI::CommandList::UpdateBottomLevelAccelerationStructure ( const RHI::DeviceRayTracingBlas rayTracingBlas)
pure virtual

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

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: