UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FD3D12OnlineHeap Class Referenceabstract

#include <D3D12DescriptorCache.h>

+ Inheritance diagram for FD3D12OnlineHeap:

Public Member Functions

 FD3D12OnlineHeap (FD3D12Device *Device, bool CanLoopAround)
 
virtual ~FD3D12OnlineHeap ()
 
ID3D12DescriptorHeapGetHeap ()
 
FORCEINLINE D3D12_CPU_DESCRIPTOR_HANDLE GetCPUSlotHandle (uint32 Slot) const
 
FORCEINLINE D3D12_GPU_DESCRIPTOR_HANDLE GetGPUSlotHandle (uint32 Slot) const
 
bool CanReserveSlots (uint32 NumSlots)
 
uint32 ReserveSlots (uint32 NumSlotsRequested)
 
void SetNextSlot (uint32 NextSlot)
 
uint32 GetNextSlotIndex () const
 
virtual bool RollOver ()=0
 
virtual void HeapLoopedAround ()
 
virtual void OpenCommandList ()
 
virtual void CloseCommandList ()
 
virtual uint32 GetTotalSize ()
 
- Public Member Functions inherited from FD3D12DeviceChild
 FD3D12DeviceChild (FD3D12Device *InParent=nullptr)
 
FORCEINLINE FD3D12DeviceGetParentDevice () const
 
FD3D12DeviceGetParentDevice_Unsafe () const
 

Protected Attributes

TRefCountPtr< FD3D12DescriptorHeapHeap
 
uint32 NextSlotIndex = 0
 
uint32 FirstUsedSlot = 0
 
const bool bCanLoopAround
 
- Protected Attributes inherited from FD3D12DeviceChild
FD3D12DeviceParent
 

Detailed Description

Manages a D3D heap which is GPU visible - base class which can be used by the FD3D12DescriptorCache

Constructor & Destructor Documentation

◆ FD3D12OnlineHeap()

FD3D12OnlineHeap::FD3D12OnlineHeap ( FD3D12Device Device,
bool  CanLoopAround 
)

Initialization constructor

◆ ~FD3D12OnlineHeap()

FD3D12OnlineHeap::~FD3D12OnlineHeap ( )
virtualdefault

Member Function Documentation

◆ CanReserveSlots()

bool FD3D12OnlineHeap::CanReserveSlots ( uint32  NumSlots)

Check if requested number of slots still fit the heap

◆ CloseCommandList()

virtual void FD3D12OnlineHeap::CloseCommandList ( )
inlinevirtual

Reimplemented in FD3D12LocalOnlineHeap.

◆ GetCPUSlotHandle()

FORCEINLINE D3D12_CPU_DESCRIPTOR_HANDLE FD3D12OnlineHeap::GetCPUSlotHandle ( uint32  Slot) const
inline

◆ GetGPUSlotHandle()

FORCEINLINE D3D12_GPU_DESCRIPTOR_HANDLE FD3D12OnlineHeap::GetGPUSlotHandle ( uint32  Slot) const
inline

◆ GetHeap()

ID3D12DescriptorHeap * FD3D12OnlineHeap::GetHeap ( )
inline

◆ GetNextSlotIndex()

uint32 FD3D12OnlineHeap::GetNextSlotIndex ( ) const
inline

◆ GetTotalSize()

virtual uint32 FD3D12OnlineHeap::GetTotalSize ( )
inlinevirtual

Reimplemented in FD3D12SubAllocatedOnlineHeap.

◆ HeapLoopedAround()

virtual void FD3D12OnlineHeap::HeapLoopedAround ( )
inlinevirtual

Reimplemented in FD3D12LocalOnlineHeap.

◆ OpenCommandList()

virtual void FD3D12OnlineHeap::OpenCommandList ( )
inlinevirtual

◆ ReserveSlots()

uint32 FD3D12OnlineHeap::ReserveSlots ( uint32  NumSlotsRequested)

Reserve requested amount of descriptor slots - should fit, user has to check with CanReserveSlots first

◆ RollOver()

virtual bool FD3D12OnlineHeap::RollOver ( )
pure virtual

◆ SetNextSlot()

void FD3D12OnlineHeap::SetNextSlot ( uint32  NextSlot)

Increment the internal slot counter - only used by threadlocal sampler heap

Member Data Documentation

◆ bCanLoopAround

const bool FD3D12OnlineHeap::bCanLoopAround
protected

◆ FirstUsedSlot

uint32 FD3D12OnlineHeap::FirstUsedSlot = 0
protected

◆ Heap

TRefCountPtr<FD3D12DescriptorHeap> FD3D12OnlineHeap::Heap
protected

◆ NextSlotIndex

uint32 FD3D12OnlineHeap::NextSlotIndex = 0
protected

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