UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FD3D12ExplicitDescriptorHeap Struct Reference

#include <D3D12ExplicitDescriptorCache.h>

+ Inheritance diagram for FD3D12ExplicitDescriptorHeap:

Public Member Functions

 FD3D12ExplicitDescriptorHeap (FD3D12Device *Device)
 
 ~FD3D12ExplicitDescriptorHeap ()
 
void Init (uint32 InMaxNumDescriptors, D3D12_DESCRIPTOR_HEAP_TYPE InType)
 
int32 Allocate (uint32 InNumDescriptors)
 
void CopyDescriptors (int32 BaseIndex, const D3D12_CPU_DESCRIPTOR_HANDLE *InDescriptors, uint32 InNumDescriptors)
 
bool CompareDescriptors (int32 BaseIndex, const D3D12_CPU_DESCRIPTOR_HANDLE *InDescriptors, uint32 InNumDescriptors)
 
D3D12_CPU_DESCRIPTOR_HANDLE GetDescriptorCPU (uint32 Index) const
 
D3D12_GPU_DESCRIPTOR_HANDLE GetDescriptorGPU (uint32 Index) const
 
- Public Member Functions inherited from FD3D12DeviceChild
 FD3D12DeviceChild (FD3D12Device *InParent=nullptr)
 
FORCEINLINE FD3D12DeviceGetParentDevice () const
 
FD3D12DeviceGetParentDevice_Unsafe () const
 

Public Attributes

ID3D12DeviceD3DDevice = nullptr
 
D3D12_DESCRIPTOR_HEAP_TYPE Type = D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
 
ID3D12DescriptorHeapD3D12Heap = nullptr
 
uint32 MaxNumDescriptors = 0
 
int32 NumAllocatedDescriptors = 0
 
int32 NumWrittenSamplerDescriptors = 0
 
uint32 DescriptorSize = 0
 
D3D12_CPU_DESCRIPTOR_HANDLE CPUBase = {}
 
D3D12_GPU_DESCRIPTOR_HANDLE GPUBase = {}
 
FD3D12ExplicitDescriptorHeapCache::FEntry HeapCacheEntry
 
TArray< D3D12_CPU_DESCRIPTOR_HANDLE > Descriptors
 
bool bExhaustiveSamplerDeduplication = false
 

Additional Inherited Members

- Protected Attributes inherited from FD3D12DeviceChild
FD3D12DeviceParent
 

Constructor & Destructor Documentation

◆ FD3D12ExplicitDescriptorHeap()

FD3D12ExplicitDescriptorHeap::FD3D12ExplicitDescriptorHeap ( FD3D12Device Device)

◆ ~FD3D12ExplicitDescriptorHeap()

FD3D12ExplicitDescriptorHeap::~FD3D12ExplicitDescriptorHeap ( )

Member Function Documentation

◆ Allocate()

int32 FD3D12ExplicitDescriptorHeap::Allocate ( uint32  InNumDescriptors)

◆ CompareDescriptors()

bool FD3D12ExplicitDescriptorHeap::CompareDescriptors ( int32  BaseIndex,
const D3D12_CPU_DESCRIPTOR_HANDLE *  InDescriptors,
uint32  InNumDescriptors 
)

◆ CopyDescriptors()

void FD3D12ExplicitDescriptorHeap::CopyDescriptors ( int32  BaseIndex,
const D3D12_CPU_DESCRIPTOR_HANDLE *  InDescriptors,
uint32  InNumDescriptors 
)

◆ GetDescriptorCPU()

D3D12_CPU_DESCRIPTOR_HANDLE FD3D12ExplicitDescriptorHeap::GetDescriptorCPU ( uint32  Index) const

◆ GetDescriptorGPU()

D3D12_GPU_DESCRIPTOR_HANDLE FD3D12ExplicitDescriptorHeap::GetDescriptorGPU ( uint32  Index) const

◆ Init()

void FD3D12ExplicitDescriptorHeap::Init ( uint32  InMaxNumDescriptors,
D3D12_DESCRIPTOR_HEAP_TYPE  InType 
)

Member Data Documentation

◆ bExhaustiveSamplerDeduplication

bool FD3D12ExplicitDescriptorHeap::bExhaustiveSamplerDeduplication = false

◆ CPUBase

D3D12_CPU_DESCRIPTOR_HANDLE FD3D12ExplicitDescriptorHeap::CPUBase = {}

◆ D3D12Heap

ID3D12DescriptorHeap* FD3D12ExplicitDescriptorHeap::D3D12Heap = nullptr

◆ D3DDevice

ID3D12Device* FD3D12ExplicitDescriptorHeap::D3DDevice = nullptr

◆ Descriptors

TArray<D3D12_CPU_DESCRIPTOR_HANDLE> FD3D12ExplicitDescriptorHeap::Descriptors

◆ DescriptorSize

uint32 FD3D12ExplicitDescriptorHeap::DescriptorSize = 0

◆ GPUBase

D3D12_GPU_DESCRIPTOR_HANDLE FD3D12ExplicitDescriptorHeap::GPUBase = {}

◆ HeapCacheEntry

FD3D12ExplicitDescriptorHeapCache::FEntry FD3D12ExplicitDescriptorHeap::HeapCacheEntry

◆ MaxNumDescriptors

uint32 FD3D12ExplicitDescriptorHeap::MaxNumDescriptors = 0

◆ NumAllocatedDescriptors

int32 FD3D12ExplicitDescriptorHeap::NumAllocatedDescriptors = 0

◆ NumWrittenSamplerDescriptors

int32 FD3D12ExplicitDescriptorHeap::NumWrittenSamplerDescriptors = 0

◆ Type


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