Diligent Engine  v.2.4.g
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Diligent::ShaderResourceCacheD3D12 Class Reference

#include <ShaderResourceCacheD3D12.hpp>

Classes

struct  MemoryRequirements
 
struct  Resource
 
class  RootTable
 

Public Types

enum  StateTransitionMode { StateTransitionMode::Transition, StateTransitionMode::Verify }
 

Public Member Functions

 ShaderResourceCacheD3D12 (ResourceCacheContentType ContentType) noexcept
 
 ShaderResourceCacheD3D12 (const ShaderResourceCacheD3D12 &)=delete
 
 ShaderResourceCacheD3D12 (ShaderResourceCacheD3D12 &&)=delete
 
ShaderResourceCacheD3D12operator= (const ShaderResourceCacheD3D12 &)=delete
 
ShaderResourceCacheD3D12operator= (ShaderResourceCacheD3D12 &&)=delete
 
 ~ShaderResourceCacheD3D12 ()
 
void Initialize (IMemoryAllocator &MemAllocator, Uint32 NumTables, const Uint32 TableSizes[])
 
void Initialize (IMemoryAllocator &MemAllocator, RenderDeviceD3D12Impl *pDevice, const RootParamsManager &RootParams)
 
const ResourceSetResource (Uint32 RootIndex, Uint32 OffsetFromTableStart, SHADER_RESOURCE_TYPE Type, D3D12_CPU_DESCRIPTOR_HANDLE CPUDescriptorHandle, RefCntAutoPtr< IDeviceObject > &&pObject)
 
const ResourceCopyResource (Uint32 RootIndex, Uint32 OffsetFromTableStart, const Resource &SrcRes)
 
const ResourceResetResource (Uint32 RootIndex, Uint32 OffsetFromTableStart)
 
const RootTableGetRootTable (Uint32 RootIndex) const
 
Uint32 GetNumRootTables () const
 
ID3D12DescriptorHeap * GetDescriptorHeap (D3D12_DESCRIPTOR_HEAP_TYPE HeapType, ROOT_PARAMETER_GROUP Group) const
 
template<typename HandleType >
HandleType GetDescriptorTableHandle (D3D12_DESCRIPTOR_HEAP_TYPE HeapType, ROOT_PARAMETER_GROUP Group, Uint32 RootParamInd, Uint32 OffsetFromTableStart=0) const
 
const DescriptorHeapAllocationGetDescriptorAllocation (D3D12_DESCRIPTOR_HEAP_TYPE HeapType, ROOT_PARAMETER_GROUP Group) const
 
void TransitionResourceStates (CommandContext &Ctx, StateTransitionMode Mode)
 
ResourceCacheContentType GetContentType () const
 
Uint64 GetDynamicRootBuffersMask () const
 
Uint64 GetNonDynamicRootBuffersMask () const
 

Static Public Member Functions

static MemoryRequirements GetMemoryRequirements (const RootParamsManager &RootParams)
 

Static Public Attributes

static constexpr Uint32 InvalidDescriptorOffset = ~0u
 

Member Enumeration Documentation

◆ StateTransitionMode

Enumerator
Transition 
Verify 

Constructor & Destructor Documentation

◆ ShaderResourceCacheD3D12() [1/3]

Diligent::ShaderResourceCacheD3D12::ShaderResourceCacheD3D12 ( ResourceCacheContentType  ContentType)
inlineexplicitnoexcept

◆ ShaderResourceCacheD3D12() [2/3]

Diligent::ShaderResourceCacheD3D12::ShaderResourceCacheD3D12 ( const ShaderResourceCacheD3D12 )
delete

◆ ShaderResourceCacheD3D12() [3/3]

Diligent::ShaderResourceCacheD3D12::ShaderResourceCacheD3D12 ( ShaderResourceCacheD3D12 &&  )
delete

◆ ~ShaderResourceCacheD3D12()

Diligent::ShaderResourceCacheD3D12::~ShaderResourceCacheD3D12 ( )

Member Function Documentation

◆ CopyResource()

const Resource& Diligent::ShaderResourceCacheD3D12::CopyResource ( Uint32  RootIndex,
Uint32  OffsetFromTableStart,
const Resource SrcRes 
)
inline

◆ GetContentType()

ResourceCacheContentType Diligent::ShaderResourceCacheD3D12::GetContentType ( ) const
inline

◆ GetDescriptorAllocation()

const DescriptorHeapAllocation& Diligent::ShaderResourceCacheD3D12::GetDescriptorAllocation ( D3D12_DESCRIPTOR_HEAP_TYPE  HeapType,
ROOT_PARAMETER_GROUP  Group 
) const
inline

◆ GetDescriptorHeap()

ID3D12DescriptorHeap* Diligent::ShaderResourceCacheD3D12::GetDescriptorHeap ( D3D12_DESCRIPTOR_HEAP_TYPE  HeapType,
ROOT_PARAMETER_GROUP  Group 
) const
inline

◆ GetDescriptorTableHandle()

template<typename HandleType >
HandleType Diligent::ShaderResourceCacheD3D12::GetDescriptorTableHandle ( D3D12_DESCRIPTOR_HEAP_TYPE  HeapType,
ROOT_PARAMETER_GROUP  Group,
Uint32  RootParamInd,
Uint32  OffsetFromTableStart = 0 
) const
inline

◆ GetDynamicRootBuffersMask()

Uint64 Diligent::ShaderResourceCacheD3D12::GetDynamicRootBuffersMask ( ) const
inline

◆ GetMemoryRequirements()

ShaderResourceCacheD3D12::MemoryRequirements Diligent::ShaderResourceCacheD3D12::GetMemoryRequirements ( const RootParamsManager RootParams)
static

◆ GetNonDynamicRootBuffersMask()

Uint64 Diligent::ShaderResourceCacheD3D12::GetNonDynamicRootBuffersMask ( ) const
inline

◆ GetNumRootTables()

Uint32 Diligent::ShaderResourceCacheD3D12::GetNumRootTables ( ) const
inline

◆ GetRootTable()

const RootTable& Diligent::ShaderResourceCacheD3D12::GetRootTable ( Uint32  RootIndex) const
inline

◆ Initialize() [1/2]

void Diligent::ShaderResourceCacheD3D12::Initialize ( IMemoryAllocator MemAllocator,
RenderDeviceD3D12Impl pDevice,
const RootParamsManager RootParams 
)

◆ Initialize() [2/2]

void Diligent::ShaderResourceCacheD3D12::Initialize ( IMemoryAllocator MemAllocator,
Uint32  NumTables,
const Uint32  TableSizes[] 
)

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ ResetResource()

const Resource& Diligent::ShaderResourceCacheD3D12::ResetResource ( Uint32  RootIndex,
Uint32  OffsetFromTableStart 
)
inline

◆ SetResource()

const ShaderResourceCacheD3D12::Resource & Diligent::ShaderResourceCacheD3D12::SetResource ( Uint32  RootIndex,
Uint32  OffsetFromTableStart,
SHADER_RESOURCE_TYPE  Type,
D3D12_CPU_DESCRIPTOR_HANDLE  CPUDescriptorHandle,
RefCntAutoPtr< IDeviceObject > &&  pObject 
)

◆ TransitionResourceStates()

void Diligent::ShaderResourceCacheD3D12::TransitionResourceStates ( CommandContext Ctx,
StateTransitionMode  Mode 
)

Member Data Documentation

◆ InvalidDescriptorOffset

constexpr Uint32 Diligent::ShaderResourceCacheD3D12::InvalidDescriptorOffset = ~0u
staticconstexpr

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