Diligent Engine  v.2.4.g
Public Member Functions | Protected Attributes | List of all members
Diligent::GPUDescriptorHeap Class Referencefinal

#include <DescriptorHeap.hpp>

Inheritance diagram for Diligent::GPUDescriptorHeap:
Diligent::IDescriptorAllocator

Public Member Functions

 GPUDescriptorHeap (IMemoryAllocator &Allocator, RenderDeviceD3D12Impl &Device, Uint32 NumDescriptorsInHeap, Uint32 NumDynamicDescriptors, D3D12_DESCRIPTOR_HEAP_TYPE Type, D3D12_DESCRIPTOR_HEAP_FLAGS Flags)
 
 GPUDescriptorHeap (const GPUDescriptorHeap &)=delete
 
 GPUDescriptorHeap (GPUDescriptorHeap &&)=delete
 
GPUDescriptorHeapoperator= (const GPUDescriptorHeap &)=delete
 
GPUDescriptorHeapoperator= (GPUDescriptorHeap &&)=delete
 
 ~GPUDescriptorHeap ()
 
virtual DescriptorHeapAllocation Allocate (uint32_t Count) override final
 
virtual void Free (DescriptorHeapAllocation &&Allocation, Uint64 CmdQueueMask) override final
 
virtual Uint32 GetDescriptorSize () const override final
 
DescriptorHeapAllocation AllocateDynamic (uint32_t Count)
 
const D3D12_DESCRIPTOR_HEAP_DESC & GetHeapDesc () const
 
Uint32 GetMaxStaticDescriptors () const
 
Uint32 GetMaxDynamicDescriptors () const
 

Protected Attributes

RenderDeviceD3D12Implm_DeviceD3D12Impl
 
const D3D12_DESCRIPTOR_HEAP_DESC m_HeapDesc
 
CComPtr< ID3D12DescriptorHeap > m_pd3d12DescriptorHeap
 
const UINT m_DescriptorSize
 
DescriptorHeapAllocationManager m_HeapAllocationManager
 
DescriptorHeapAllocationManager m_DynamicAllocationsManager
 

Constructor & Destructor Documentation

◆ GPUDescriptorHeap() [1/3]

Diligent::GPUDescriptorHeap::GPUDescriptorHeap ( IMemoryAllocator Allocator,
RenderDeviceD3D12Impl Device,
Uint32  NumDescriptorsInHeap,
Uint32  NumDynamicDescriptors,
D3D12_DESCRIPTOR_HEAP_TYPE  Type,
D3D12_DESCRIPTOR_HEAP_FLAGS  Flags 
)

◆ GPUDescriptorHeap() [2/3]

Diligent::GPUDescriptorHeap::GPUDescriptorHeap ( const GPUDescriptorHeap )
delete

◆ GPUDescriptorHeap() [3/3]

Diligent::GPUDescriptorHeap::GPUDescriptorHeap ( GPUDescriptorHeap &&  )
delete

◆ ~GPUDescriptorHeap()

Diligent::GPUDescriptorHeap::~GPUDescriptorHeap ( )

Member Function Documentation

◆ Allocate()

virtual DescriptorHeapAllocation Diligent::GPUDescriptorHeap::Allocate ( uint32_t  Count)
inlinefinaloverridevirtual

◆ AllocateDynamic()

DescriptorHeapAllocation Diligent::GPUDescriptorHeap::AllocateDynamic ( uint32_t  Count)
inline

◆ Free()

virtual void Diligent::GPUDescriptorHeap::Free ( DescriptorHeapAllocation &&  Allocation,
Uint64  CmdQueueMask 
)
finaloverridevirtual

◆ GetDescriptorSize()

virtual Uint32 Diligent::GPUDescriptorHeap::GetDescriptorSize ( ) const
inlinefinaloverridevirtual

◆ GetHeapDesc()

const D3D12_DESCRIPTOR_HEAP_DESC& Diligent::GPUDescriptorHeap::GetHeapDesc ( ) const
inline

◆ GetMaxDynamicDescriptors()

Uint32 Diligent::GPUDescriptorHeap::GetMaxDynamicDescriptors ( ) const
inline

◆ GetMaxStaticDescriptors()

Uint32 Diligent::GPUDescriptorHeap::GetMaxStaticDescriptors ( ) const
inline

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Member Data Documentation

◆ m_DescriptorSize

const UINT Diligent::GPUDescriptorHeap::m_DescriptorSize
protected

◆ m_DeviceD3D12Impl

RenderDeviceD3D12Impl& Diligent::GPUDescriptorHeap::m_DeviceD3D12Impl
protected

◆ m_DynamicAllocationsManager

DescriptorHeapAllocationManager Diligent::GPUDescriptorHeap::m_DynamicAllocationsManager
protected

◆ m_HeapAllocationManager

DescriptorHeapAllocationManager Diligent::GPUDescriptorHeap::m_HeapAllocationManager
protected

◆ m_HeapDesc

const D3D12_DESCRIPTOR_HEAP_DESC Diligent::GPUDescriptorHeap::m_HeapDesc
protected

◆ m_pd3d12DescriptorHeap

CComPtr<ID3D12DescriptorHeap> Diligent::GPUDescriptorHeap::m_pd3d12DescriptorHeap
protected

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