Diligent Engine  v.2.4.g
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Diligent::CommandContext Class Reference

#include <CommandContext.hpp>

Inheritance diagram for Diligent::CommandContext:
Diligent::ComputeContext Diligent::GraphicsContext Diligent::GraphicsContext1 Diligent::GraphicsContext2 Diligent::GraphicsContext3 Diligent::GraphicsContext4 Diligent::GraphicsContext5 Diligent::GraphicsContext6

Classes

struct  ShaderDescriptorHeaps
 

Public Member Functions

 CommandContext (class CommandListManager &CmdListManager)
 
 CommandContext (const CommandContext &)=delete
 
CommandContextoperator= (const CommandContext &)=delete
 
 CommandContext (CommandContext &&)=delete
 
CommandContextoperator= (CommandContext &&)=delete
 
 ~CommandContext ()
 
ID3D12GraphicsCommandList * Close (CComPtr< ID3D12CommandAllocator > &pAllocator)
 
void Reset (CommandListManager &CmdListManager)
 
class GraphicsContextAsGraphicsContext ()
 
class GraphicsContext1AsGraphicsContext1 ()
 
class GraphicsContext2AsGraphicsContext2 ()
 
class GraphicsContext3AsGraphicsContext3 ()
 
class GraphicsContext4AsGraphicsContext4 ()
 
class GraphicsContext5AsGraphicsContext5 ()
 
class GraphicsContext6AsGraphicsContext6 ()
 
class ComputeContextAsComputeContext ()
 
void ClearUAVFloat (D3D12_GPU_DESCRIPTOR_HANDLE GpuHandle, D3D12_CPU_DESCRIPTOR_HANDLE CpuHandle, ID3D12Resource *pd3d12Resource, const float *Color)
 
void ClearUAVUint (D3D12_GPU_DESCRIPTOR_HANDLE GpuHandle, D3D12_CPU_DESCRIPTOR_HANDLE CpuHandle, ID3D12Resource *pd3d12Resource, const UINT *Color)
 
void CopyResource (ID3D12Resource *pDstRes, ID3D12Resource *pSrcRes)
 
void TransitionResource (TextureD3D12Impl &Texture, RESOURCE_STATE NewState)
 
void TransitionResource (BufferD3D12Impl &Buffer, RESOURCE_STATE NewState)
 
void TransitionResource (BottomLevelASD3D12Impl &BLAS, RESOURCE_STATE NewState)
 
void TransitionResource (TopLevelASD3D12Impl &TLAS, RESOURCE_STATE NewState)
 
void TransitionResource (TextureD3D12Impl &Texture, const StateTransitionDesc &Barrier)
 
void TransitionResource (BufferD3D12Impl &Buffer, const StateTransitionDesc &Barrier)
 
void TransitionResource (BottomLevelASD3D12Impl &BLAS, const StateTransitionDesc &Barrier)
 
void TransitionResource (TopLevelASD3D12Impl &TLAS, const StateTransitionDesc &Barrier)
 
void ResolveSubresource (ID3D12Resource *pDstResource, UINT DstSubresource, ID3D12Resource *pSrcResource, UINT SrcSubresource, DXGI_FORMAT Format)
 
void FlushResourceBarriers ()
 
void SetDescriptorHeaps (ShaderDescriptorHeaps &Heaps)
 
void ExecuteIndirect (ID3D12CommandSignature *pCmdSignature, ID3D12Resource *pBuff, Uint64 ArgsOffset)
 
void ExecuteIndirect (ID3D12CommandSignature *pCmdSignature, Uint32 MaxCommandCount, ID3D12Resource *pArgsBuff, Uint64 ArgsOffset, ID3D12Resource *pCountBuff, Uint64 CountOffset)
 
void SetID (const Char *ID)
 
ID3D12GraphicsCommandList * GetCommandList ()
 
DescriptorHeapAllocation AllocateDynamicGPUVisibleDescriptor (D3D12_DESCRIPTOR_HEAP_TYPE Type, UINT Count=1)
 
void ResourceBarrier (const D3D12_RESOURCE_BARRIER &Barrier)
 
void SetPipelineState (ID3D12PipelineState *pPSO)
 
void SetDynamicGPUDescriptorAllocators (DynamicSuballocationsManager *Allocators)
 
void BeginQuery (ID3D12QueryHeap *pQueryHeap, D3D12_QUERY_TYPE Type, UINT Index)
 
void EndQuery (ID3D12QueryHeap *pQueryHeap, D3D12_QUERY_TYPE Type, UINT Index)
 
void ResolveQueryData (ID3D12QueryHeap *pQueryHeap, D3D12_QUERY_TYPE Type, UINT StartIndex, UINT NumQueries, ID3D12Resource *pDestinationBuffer, UINT64 AlignedDestinationBufferOffset)
 

Protected Member Functions

void InsertAliasBarrier (D3D12ResourceBase &Before, D3D12ResourceBase &After, bool FlushImmediate=false)
 

Protected Attributes

CComPtr< ID3D12GraphicsCommandList > m_pCommandList
 
CComPtr< ID3D12CommandAllocator > m_pCurrentAllocator
 
void * m_pCurPipelineState = nullptr
 
ID3D12RootSignature * m_pCurGraphicsRootSignature = nullptr
 
ID3D12RootSignature * m_pCurComputeRootSignature = nullptr
 
std::vector< D3D12_RESOURCE_BARRIER, STDAllocatorRawMem< D3D12_RESOURCE_BARRIER > > m_PendingResourceBarriers
 
ShaderDescriptorHeaps m_BoundDescriptorHeaps
 
DynamicSuballocationsManagerm_DynamicGPUDescriptorAllocators = nullptr
 
String m_ID
 
D3D12_PRIMITIVE_TOPOLOGY m_PrimitiveTopology = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
 
Uint32 m_MaxInterfaceVer = 0
 

Constructor & Destructor Documentation

◆ CommandContext() [1/3]

Diligent::CommandContext::CommandContext ( class CommandListManager CmdListManager)

◆ CommandContext() [2/3]

Diligent::CommandContext::CommandContext ( const CommandContext )
delete

◆ CommandContext() [3/3]

Diligent::CommandContext::CommandContext ( CommandContext &&  )
delete

◆ ~CommandContext()

Diligent::CommandContext::~CommandContext ( )

Member Function Documentation

◆ AllocateDynamicGPUVisibleDescriptor()

DescriptorHeapAllocation Diligent::CommandContext::AllocateDynamicGPUVisibleDescriptor ( D3D12_DESCRIPTOR_HEAP_TYPE  Type,
UINT  Count = 1 
)
inline

◆ AsComputeContext()

ComputeContext & Diligent::CommandContext::AsComputeContext ( )
inline

◆ AsGraphicsContext()

GraphicsContext & Diligent::CommandContext::AsGraphicsContext ( )
inline

◆ AsGraphicsContext1()

GraphicsContext1 & Diligent::CommandContext::AsGraphicsContext1 ( )
inline

◆ AsGraphicsContext2()

GraphicsContext2 & Diligent::CommandContext::AsGraphicsContext2 ( )
inline

◆ AsGraphicsContext3()

GraphicsContext3 & Diligent::CommandContext::AsGraphicsContext3 ( )
inline

◆ AsGraphicsContext4()

GraphicsContext4 & Diligent::CommandContext::AsGraphicsContext4 ( )
inline

◆ AsGraphicsContext5()

GraphicsContext5 & Diligent::CommandContext::AsGraphicsContext5 ( )
inline

◆ AsGraphicsContext6()

GraphicsContext6 & Diligent::CommandContext::AsGraphicsContext6 ( )
inline

◆ BeginQuery()

void Diligent::CommandContext::BeginQuery ( ID3D12QueryHeap *  pQueryHeap,
D3D12_QUERY_TYPE  Type,
UINT  Index 
)
inline

◆ ClearUAVFloat()

void Diligent::CommandContext::ClearUAVFloat ( D3D12_GPU_DESCRIPTOR_HANDLE  GpuHandle,
D3D12_CPU_DESCRIPTOR_HANDLE  CpuHandle,
ID3D12Resource *  pd3d12Resource,
const float *  Color 
)
inline

◆ ClearUAVUint()

void Diligent::CommandContext::ClearUAVUint ( D3D12_GPU_DESCRIPTOR_HANDLE  GpuHandle,
D3D12_CPU_DESCRIPTOR_HANDLE  CpuHandle,
ID3D12Resource *  pd3d12Resource,
const UINT *  Color 
)
inline

◆ Close()

ID3D12GraphicsCommandList * Diligent::CommandContext::Close ( CComPtr< ID3D12CommandAllocator > &  pAllocator)

◆ CopyResource()

void Diligent::CommandContext::CopyResource ( ID3D12Resource *  pDstRes,
ID3D12Resource *  pSrcRes 
)
inline

◆ EndQuery()

void Diligent::CommandContext::EndQuery ( ID3D12QueryHeap *  pQueryHeap,
D3D12_QUERY_TYPE  Type,
UINT  Index 
)
inline

◆ ExecuteIndirect() [1/2]

void Diligent::CommandContext::ExecuteIndirect ( ID3D12CommandSignature *  pCmdSignature,
ID3D12Resource *  pBuff,
Uint64  ArgsOffset 
)
inline

◆ ExecuteIndirect() [2/2]

void Diligent::CommandContext::ExecuteIndirect ( ID3D12CommandSignature *  pCmdSignature,
Uint32  MaxCommandCount,
ID3D12Resource *  pArgsBuff,
Uint64  ArgsOffset,
ID3D12Resource *  pCountBuff,
Uint64  CountOffset 
)
inline

◆ FlushResourceBarriers()

void Diligent::CommandContext::FlushResourceBarriers ( )
inline

◆ GetCommandList()

ID3D12GraphicsCommandList* Diligent::CommandContext::GetCommandList ( )
inline

◆ InsertAliasBarrier()

void Diligent::CommandContext::InsertAliasBarrier ( D3D12ResourceBase Before,
D3D12ResourceBase After,
bool  FlushImmediate = false 
)
protected

◆ operator=() [1/2]

CommandContext& Diligent::CommandContext::operator= ( CommandContext &&  )
delete

◆ operator=() [2/2]

CommandContext& Diligent::CommandContext::operator= ( const CommandContext )
delete

◆ Reset()

void Diligent::CommandContext::Reset ( CommandListManager CmdListManager)

◆ ResolveQueryData()

void Diligent::CommandContext::ResolveQueryData ( ID3D12QueryHeap *  pQueryHeap,
D3D12_QUERY_TYPE  Type,
UINT  StartIndex,
UINT  NumQueries,
ID3D12Resource *  pDestinationBuffer,
UINT64  AlignedDestinationBufferOffset 
)
inline

◆ ResolveSubresource()

void Diligent::CommandContext::ResolveSubresource ( ID3D12Resource *  pDstResource,
UINT  DstSubresource,
ID3D12Resource *  pSrcResource,
UINT  SrcSubresource,
DXGI_FORMAT  Format 
)
inline

◆ ResourceBarrier()

void Diligent::CommandContext::ResourceBarrier ( const D3D12_RESOURCE_BARRIER &  Barrier)
inline

◆ SetDescriptorHeaps()

void Diligent::CommandContext::SetDescriptorHeaps ( ShaderDescriptorHeaps Heaps)
inline

◆ SetDynamicGPUDescriptorAllocators()

void Diligent::CommandContext::SetDynamicGPUDescriptorAllocators ( DynamicSuballocationsManager Allocators)
inline

◆ SetID()

void Diligent::CommandContext::SetID ( const Char ID)
inline

◆ SetPipelineState()

void Diligent::CommandContext::SetPipelineState ( ID3D12PipelineState *  pPSO)
inline

◆ TransitionResource() [1/8]

void Diligent::CommandContext::TransitionResource ( BottomLevelASD3D12Impl BLAS,
const StateTransitionDesc Barrier 
)

◆ TransitionResource() [2/8]

void Diligent::CommandContext::TransitionResource ( BottomLevelASD3D12Impl BLAS,
RESOURCE_STATE  NewState 
)

◆ TransitionResource() [3/8]

void Diligent::CommandContext::TransitionResource ( BufferD3D12Impl Buffer,
const StateTransitionDesc Barrier 
)

◆ TransitionResource() [4/8]

void Diligent::CommandContext::TransitionResource ( BufferD3D12Impl Buffer,
RESOURCE_STATE  NewState 
)

◆ TransitionResource() [5/8]

void Diligent::CommandContext::TransitionResource ( TextureD3D12Impl Texture,
const StateTransitionDesc Barrier 
)

◆ TransitionResource() [6/8]

void Diligent::CommandContext::TransitionResource ( TextureD3D12Impl Texture,
RESOURCE_STATE  NewState 
)

◆ TransitionResource() [7/8]

void Diligent::CommandContext::TransitionResource ( TopLevelASD3D12Impl TLAS,
const StateTransitionDesc Barrier 
)

◆ TransitionResource() [8/8]

void Diligent::CommandContext::TransitionResource ( TopLevelASD3D12Impl TLAS,
RESOURCE_STATE  NewState 
)

Member Data Documentation

◆ m_BoundDescriptorHeaps

ShaderDescriptorHeaps Diligent::CommandContext::m_BoundDescriptorHeaps
protected

◆ m_DynamicGPUDescriptorAllocators

DynamicSuballocationsManager* Diligent::CommandContext::m_DynamicGPUDescriptorAllocators = nullptr
protected

◆ m_ID

String Diligent::CommandContext::m_ID
protected

◆ m_MaxInterfaceVer

Uint32 Diligent::CommandContext::m_MaxInterfaceVer = 0
protected

◆ m_pCommandList

CComPtr<ID3D12GraphicsCommandList> Diligent::CommandContext::m_pCommandList
protected

◆ m_pCurComputeRootSignature

ID3D12RootSignature* Diligent::CommandContext::m_pCurComputeRootSignature = nullptr
protected

◆ m_pCurGraphicsRootSignature

ID3D12RootSignature* Diligent::CommandContext::m_pCurGraphicsRootSignature = nullptr
protected

◆ m_pCurPipelineState

void* Diligent::CommandContext::m_pCurPipelineState = nullptr
protected

◆ m_pCurrentAllocator

CComPtr<ID3D12CommandAllocator> Diligent::CommandContext::m_pCurrentAllocator
protected

◆ m_PendingResourceBarriers

std::vector<D3D12_RESOURCE_BARRIER, STDAllocatorRawMem<D3D12_RESOURCE_BARRIER> > Diligent::CommandContext::m_PendingResourceBarriers
protected

◆ m_PrimitiveTopology

D3D12_PRIMITIVE_TOPOLOGY Diligent::CommandContext::m_PrimitiveTopology = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
protected

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