Class D3D12GraphicsCommandListState
Defined in File d3d12-graphicscommandlist.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public gpa::d3d12_state_tracker::ObjectState< ID3D12Object >
(Template Class ObjectState)
Class Documentation
-
class D3D12GraphicsCommandListState : public gpa::d3d12_state_tracker::ObjectState<ID3D12Object>
Public Types
-
using ScissorRects = std::vector<D3D12_RECT>
-
using Viewports = std::vector<D3D12_VIEWPORT>
-
using DescriptorHeaps = std::vector<ID3D12DescriptorHeap*>
-
using RenderTargets = std::vector<D3D12_CPU_DESCRIPTOR_HANDLE>
-
using IndexBuffer = std::vector<D3D12_INDEX_BUFFER_VIEW>
-
using VertexBuffers = std::map<UINT, D3D12_VERTEX_BUFFER_VIEW>
-
using DepthStencil = D3D12_CPU_DESCRIPTOR_HANDLE
-
using Topology = D3D12_PRIMITIVE_TOPOLOGY
-
using StreamOutTargets = std::map<UINT, D3D12_STREAM_OUTPUT_BUFFER_VIEW>
Public Functions
-
D3D12GraphicsCommandListState(ID3D12GraphicsCommandList *pList, UINT nodeMask, D3D12_COMMAND_LIST_TYPE type, ID3D12CommandAllocator *pCommandAllocator, ID3D12PipelineState *pInitialState)
-
D3D12GraphicsCommandListState(D3D12GraphicsCommandListState const&) = delete
-
D3D12GraphicsCommandListState &operator=(D3D12GraphicsCommandListState const&) = delete
-
~D3D12GraphicsCommandListState() override
-
virtual GUID GetGUID() override
-
D3D12GraphicsCommandListExtendedState *GetExtendedState()
-
void InitializeExtendedState()
-
void OnResourceBarrier(UINT NumBarriers, const D3D12_RESOURCE_BARRIER *pBarriers)
-
void OnReset(ID3D12CommandAllocator *allocator, ID3D12PipelineState *pipelineState)
-
void OnClose()
-
void OnSetPipelineState(ID3D12PipelineState *pipelineState)
-
void OnSetPipelineState1(ID3D12StateObject *stateObject)
-
void OnClearState(ID3D12PipelineState *stateObject)
-
void OnSetComputeRootSignature(ID3D12RootSignature *rootSignature)
-
void OnSetGraphicsRootSignature(ID3D12RootSignature *rootSignature)
-
void OnSetComputeRootDescriptorTable(UINT RootParameterIndex, D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor)
-
void OnSetGraphicsRootDescriptorTable(UINT RootParameterIndex, D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor)
-
void OnSetComputeRoot32BitConstant(UINT RootParameterIndex, UINT SrcData, UINT DestOffsetIn32BitValues)
-
void OnSetGraphicsRoot32BitConstant(UINT RootParameterIndex, UINT SrcData, UINT DestOffsetIn32BitValues)
-
void OnSetComputeRoot32BitConstants(UINT RootParameterIndex, UINT Num32BitValuesToSet, const void *pSrcData, UINT DestOffsetIn32BitValues)
-
void OnSetGraphicsRoot32BitConstants(UINT RootParameterIndex, UINT Num32BitValuesToSet, const void *pSrcData, UINT DestOffsetIn32BitValues)
-
void OnSetComputeRootConstantBufferView(UINT RootParameterIndex, D3D12_GPU_VIRTUAL_ADDRESS BufferLocation)
-
void OnSetGraphicsRootConstantBufferView(UINT RootParameterIndex, D3D12_GPU_VIRTUAL_ADDRESS BufferLocation)
-
void OnSetComputeRootShaderResourceView(UINT RootParameterIndex, D3D12_GPU_VIRTUAL_ADDRESS BufferLocation)
-
void OnSetGraphicsRootShaderResourceView(UINT RootParameterIndex, D3D12_GPU_VIRTUAL_ADDRESS BufferLocation)
-
void OnSetComputeRootUnorderedAccessView(UINT RootParameterIndex, D3D12_GPU_VIRTUAL_ADDRESS BufferLocation)
-
void OnSetGraphicsRootUnorderedAccessView(UINT RootParameterIndex, D3D12_GPU_VIRTUAL_ADDRESS BufferLocation)
-
void OnIASetIndexBuffer(const D3D12_INDEX_BUFFER_VIEW *pView)
-
void OnIASetPrimitiveTopology(D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology)
-
void OnIASetVertexBuffers(UINT StartSlot, UINT NumViews, const D3D12_VERTEX_BUFFER_VIEW *pViews)
-
void OnOMSetBlendFactor(const FLOAT BlendFactor[4])
-
void OnOMSetRenderTargets(UINT NumRenderTargetDescriptors, const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors, BOOL RTsSingleHandleToDescriptorRange, const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor, bool runtimeCPUDescriptorHandles)
-
void OnOMSetStencilRef(UINT StencilRef)
-
void OnOMSetDepthBounds(FLOAT Min, FLOAT Max)
-
void OnSOSetTargets(UINT StartSlot, UINT NumViews, const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews)
-
void OnRSSetScissorRects(UINT NumRects, const D3D12_RECT *pRects)
-
void OnRSSetViewports(UINT NumViewports, const D3D12_VIEWPORT *pViewports)
-
void OnSetDescriptorHeaps(UINT NumDescriptorHeaps, ID3D12DescriptorHeap *const *ppDescriptorHeaps)
-
void OnAllocatorReset(ID3D12CommandAllocator *allocator)
-
void OnExecute(ID3D12CommandQueue *queue)
-
void OnExecuteBundle(ID3D12GraphicsCommandList *pCommandList)
-
void OnResourceUpdate(ID3D12Resource *resource)
-
void OnCopyBufferRegion(ID3D12Resource *pDstBuffer, UINT64 DstOffset, ID3D12Resource *pSrcBuffer, UINT64 SrcOffset, UINT64 NumBytes)
-
void OnCopyResource(ID3D12Resource *pDstResource, ID3D12Resource *pSrcResource)
-
void OnCopyRaytracingAccelerationStructure(D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData, D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData, D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE Mode)
-
void OnBuildRaytracingAccelerationStructure(const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC &desc)
-
void OnDispatchRays(const D3D12_DISPATCH_RAYS_DESC &desc)
-
void OnBeginQuery(ID3D12QueryHeap *pQueryHeap, D3D12_QUERY_TYPE Type, UINT Index)
-
void OnEndQuery(ID3D12QueryHeap *pQueryHeap, D3D12_QUERY_TYPE Type, UINT Index)
-
void OnSetPredication(ID3D12Resource *pBuffer, UINT64 AlignedBufferOffset, D3D12_PREDICATION_OP Operation)
-
void OnSetSamplePositions(UINT NumSamplesPerPixel, UINT NumPixels, D3D12_SAMPLE_POSITION *pSamplePositions)
-
void OnSetViewInstanceMask(UINT Mask)
-
void OnSetProtectedResourceSession(ID3D12ProtectedResourceSession *pProtectedResourceSession)
-
void OnBeginRenderPass(UINT NumRenderTargets, const D3D12_RENDER_PASS_RENDER_TARGET_DESC *pRenderTargets, const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *pDepthStencil, D3D12_RENDER_PASS_FLAGS Flags)
-
void OnEndRenderPass()
-
void OnRSSetShadingRate(D3D12_SHADING_RATE baseShadingRate, const D3D12_SHADING_RATE_COMBINER *combiners)
-
void OnRSSetShadingRateImage(ID3D12Resource *shadingRateImage)
-
bool IsRecording() const
-
uint32_t GetNodeMask() const
-
ID3D12PipelineState *GetPipelineState() const
-
ID3D12StateObject *GetRaytracingState() const
-
ID3D12CommandAllocator *GetCommandAllocator() const
-
ID3D12RootSignature *GetCurrentRootSignature(PipelineType const pipelineType) const
-
ID3D12StateObject *GetStateObjectAtCommand(uint32_t commandIndex) const
-
std::vector<BuildASCommand> GetRaytracingASDescs() const
-
std::vector<DispatchRaysCommand> const &GetDispatchRaysDescs() const
-
CopyBufferCommands const &GetCopyBufferCommands() const
-
std::vector<CopyASCommand> const &GetCopyAccelerationStructures() const
-
std::vector<D3D12_RESOURCE_STATES> const *GetPendingResourceState(ID3D12Resource *resource) const
-
std::vector<ID3D12DescriptorHeap*> GetDescriptorHeaps() const
-
VertexBuffers const &GetVertexBuffers() const
-
IndexBuffer const &GetIndexBuffer() const
-
ScissorRects const &GetScissorRects() const
-
StreamOutTargets const &GetStreamOutTargets() const
-
uint32_t GetStencilRef() const
-
std::vector<float> GetDepthBounds() const
-
std::unordered_map<uint32_t, RootParamRecord> const &GetRootSignatureRecord(PipelineType pipelineType) const
-
RenderTargets const &GetRenderTargets(bool requestUntranslatedHandle) const
-
DepthStencil const &GetDepthStencil(bool requestUntranslatedHandle) const
-
ReferencedDescriptorHeaptoDescriptorMap const &GetReferencedRenderTargetDescriptors() const
-
void EnumerateCurrentBindings(PipelineType pipelineType, std::function<bool(uint32_t shaderRegister, uint32_t registerSpace, ResourceBindingInfo resourceBindingInfo, D3D12_SHADER_VISIBILITY visibility, bool belongsToUnboundedRange)> callback)
Enumarated through currently bound resources.
The callback parameter belongsToUnboundedRange tells the client that currently iterated range of descriptors has unbounded size. In such case even whole descriptor heap can be iterated through. The client can stop iteration through a range with unbounded size by returning false. In all other cases the callback return value is ignored.
-
void RestoreState(ID3D12GraphicsCommandList *cmdList, bool useUntranslated = false)
-
void RestoreComputeBindings(ID3D12GraphicsCommandList *cmdList)
-
void RestoreComputeState(ID3D12GraphicsCommandList *cmdList)
-
void RestoreGraphicsState(ID3D12GraphicsCommandList *cmdList, bool restoreCommon = true, bool useUntranslated = false)
-
uint32_t NextCommandIndex()
-
uint32_t CurrentCommandIndex()
Public Static Attributes
-
static constexpr GUID sGUID = {0xe2d63967, 0xb577, 0x4054, {0xa8, 0x1d, 0xb6, 0x5e, 0xad, 0xfe, 0x87, 0x78}}
-
using ScissorRects = std::vector<D3D12_RECT>