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

Inherits AZ::RHI::CommandList, and AZ::DX12::CommandListBase.

Classes

struct  BufferClearRequest
 
struct  ImageClearRequest
 
struct  TileMapRequest
 

Public Types

using TileMapRequestList = AZStd::vector< TileMapRequest >
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (CommandList, AZ::SystemAllocator)
 
bool IsInitialized () const
 
void Init (Device &device, RHI::HardwareQueueClass hardwareQueueClass, const AZStd::shared_ptr< DescriptorContext > &descriptorContext, ID3D12CommandAllocator *commandAllocator)
 
void Shutdown () override
 Clears the current bound device to null.
 
void Open (const Name &name)
 
void Close () override
 
void Reset (ID3D12CommandAllocator *commandAllocator) override
 
void SetViewports (const RHI::Viewport *viewports, uint32_t count) override
 Assigns a list of viewports to the raster stage of the graphics pipe.
 
void SetScissors (const RHI::Scissor *scissors, uint32_t count) override
 Assigns a list of scissors to the raster stage of the graphics pipe.
 
void SetShaderResourceGroupForDraw (const RHI::ShaderResourceGroup &shaderResourceGroup) override
 
void SetShaderResourceGroupForDispatch (const RHI::ShaderResourceGroup &shaderResourceGroup) override
 
void Submit (const RHI::DrawItem &drawItem, uint32_t submitIndex=0) override
 Submits a single draw item for processing on the command list.
 
void Submit (const RHI::CopyItem &copyItem, uint32_t submitIndex=0) override
 Submits a single copy item for processing on the command list.
 
void Submit (const RHI::DispatchItem &dispatchItem, uint32_t submitIndex=0) override
 Submits a single dispatch item for processing on the command list.
 
void Submit (const RHI::DispatchRaysItem &dispatchRaysItem, uint32_t submitIndex=0) override
 Submits a single dispatch rays item for processing on the command list.
 
void BeginPredication (const RHI::Buffer &buffer, uint64_t offset, RHI::PredicationOp operation) override
 Starts predication on the command list.
 
void EndPredication () override
 End predication on the command list.
 
void BuildBottomLevelAccelerationStructure (const RHI::RayTracingBlas &rayTracingBlas) override
 Builds a Bottom Level Acceleration Structure (BLAS) for ray tracing operations, which is made up of RayTracingGeometry entries.
 
void BuildTopLevelAccelerationStructure (const RHI::RayTracingTlas &rayTracingTlas) override
 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 SetFragmentShadingRate (RHI::ShadingRate rate, const RHI::ShadingRateCombinators &combinators=DefaultShadingRateCombinators) override
 
void SetRenderTargets (uint32_t renderTargetCount, const ImageView *const *renderTarget, const ImageView *depthStencilAttachment, RHI::ScopeAttachmentAccess depthStencilAccess, const ImageView *shadingRateAttachment)
 
void QueueTileMapRequest (const TileMapRequest &request)
 
bool HasTileMapRequests ()
 
const TileMapRequestList & GetTileMapRequests () const
 
void ClearRenderTarget (const ImageClearRequest &request)
 
void ClearUnorderedAccess (const ImageClearRequest &request)
 
void ClearUnorderedAccess (const BufferClearRequest &request)
 
void DiscardResource (ID3D12Resource *resource)
 
RHI::CommandListValidatorGetValidator ()
 
- Public Member Functions inherited from AZ::RHI::CommandList
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.
 
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.
 
- Public Member Functions inherited from AZ::DX12::CommandListBase
 CommandListBase (const CommandListBase &)=delete
 
bool IsRecording () const
 
void QueueTransitionBarrier (ID3D12Resource *resource, D3D12_RESOURCE_STATES stateBefore, D3D12_RESOURCE_STATES stateAfter, const BarrierOp::CommandListState *state=nullptr)
 
void QueueTransitionBarrier (const D3D12_RESOURCE_TRANSITION_BARRIER &barrier, const BarrierOp::CommandListState *state=nullptr)
 
void QueueTransitionBarrier (const BarrierOp &op)
 Adds a transition barrier operation that will be emitted when flusing the barriers.
 
void QueueAliasingBarrier (const D3D12_RESOURCE_ALIASING_BARRIER &barrier, const BarrierOp::CommandListState *state=nullptr)
 
void QueueAliasingBarrier (const BarrierOp &op)
 Adds an aliasing barrier operation that will be emitted when flusing the barriers.
 
void FlushBarriers ()
 
ID3D12GraphicsCommandList * GetCommandList ()
 
const ID3D12GraphicsCommandList * GetCommandList () const
 
RHI::HardwareQueueClass GetHardwareQueueClass () const
 
void SetAftermathEventMarker (const char *markerData)
 
- Public Member Functions inherited from AZ::RHI::DeviceObject
 AZ_RTTI (DeviceObject,"{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object)
 
bool IsInitialized () const
 Returns whether the device object is initialized.
 
DeviceGetDevice () const
 
- Public Member Functions inherited from AZ::RHI::Object
 AZ_RTTI (Object,"{E43378F1-2331-4173-94B8-990ED20E6003}")
 
void SetName (const Name &name)
 Sets the name of the object.
 
const Name & GetName () const
 Returns the name set on the object by SetName.
 
uint32_t use_count ()
 Returns the current use count of the object.
 

Static Public Member Functions

static RHI::Ptr< CommandListCreate ()
 

Additional Inherited Members

- Static Public Attributes inherited from AZ::RHI::CommandList
static const ShadingRateCombinators DefaultShadingRateCombinators
 Default value of shading rate combinator operations.
 
- Protected Member Functions inherited from AZ::DX12::CommandListBase
void Init (Device &device, RHI::HardwareQueueClass hardwareQueueClass, ID3D12CommandAllocator *commandAllocator)
 
void SetBarrierState (const BarrierOp::CommandListState &state)
 Sets the state of the command list for emitting a barrier.
 
void SetSamplePositions (const RHI::MultisampleState &state)
 Sets the sample positions of the command list.
 
- Protected Member Functions inherited from AZ::RHI::DeviceObject
void Init (Device &device)
 The derived class should call this method to assign the device.
 
- Protected Member Functions inherited from AZ::RHI::Object
void add_ref () const
 
void release () const
 
- Protected Attributes inherited from AZ::RHI::Object
AZStd::atomic_int m_useCount = 0
 

Member Function Documentation

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

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)

Implements AZ::RHI::CommandList.

void AZ::DX12::CommandList::SetShaderResourceGroupForDispatch ( const RHI::ShaderResourceGroup shaderResourceGroup)
overridevirtual

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.

Implements AZ::RHI::CommandList.

void AZ::DX12::CommandList::SetShaderResourceGroupForDraw ( const RHI::ShaderResourceGroup shaderResourceGroup)
overridevirtual

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.

Implements AZ::RHI::CommandList.


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