UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FRHITransientHeap Class Reference

#include <RHICoreTransientResourceAllocator.h>

+ Inheritance diagram for FRHITransientHeap:

Classes

struct  FInitializer
 
struct  FResourceInitializer
 

Public Types

using FCreateTextureFunction = TFunction< FRHITransientTexture *(const FResourceInitializer &)>
 
using FCreateBufferFunction = TFunction< FRHITransientBuffer *(const FResourceInitializer &)>
 

Public Member Functions

 FRHITransientHeap (const FInitializer &InInitializer)
 
virtual ~FRHITransientHeap ()=default
 
RHICORE_API FRHITransientTextureCreateTexture (const FRHITextureCreateInfo &CreateInfo, const TCHAR *DebugName, const FRHITransientAllocationFences &Fences, uint64 CurrentAllocatorCycle, uint64 TextureSize, uint32 TextureAlignment, FCreateTextureFunction CreateTextureFunction)
 
RHICORE_API void DeallocateMemory (FRHITransientTexture *Texture, const FRHITransientAllocationFences &Fences)
 
RHICORE_API FRHITransientBufferCreateBuffer (const FRHIBufferCreateInfo &CreateInfo, const TCHAR *DebugName, const FRHITransientAllocationFences &Fences, uint64 CurrentAllocatorCycle, uint64 BufferSize, uint32 BufferAlignment, FCreateBufferFunction CreateBufferFunction)
 
RHICORE_API void DeallocateMemory (FRHITransientBuffer *Buffer, const FRHITransientAllocationFences &Fences)
 
RHICORE_API void Flush (uint64 CurrentAllocatorCycle, FRHITransientMemoryStats &OutMemoryStats, FRHITransientAllocationStats *OutAllocationStats)
 
const FInitializerGetInitializer () const
 
uint64 GetCapacity () const
 
uint64 GetGPUVirtualAddress () const
 
uint64 GetLastUsedGarbageCollectCycle () const
 
uint64 GetCommitSize () const
 
bool IsEmpty () const
 
bool IsFull () const
 
bool IsCommitRequired () const
 
bool IsAllocationSupported (uint64 Size, ERHITransientHeapFlags Flags) const
 

Protected Member Functions

void SetGpuVirtualAddress (uint64 InBaseGPUVirtualAddress)
 

Detailed Description

The base class for a platform heap implementation. Transient resources are placed on the heap at specific byte offsets. Each heap additionally contains a cache of RHI transient resources, each with its own RHI resource and cache of RHI views. The lifetime of the resource cache is tied to the heap.

Member Typedef Documentation

◆ FCreateBufferFunction

◆ FCreateTextureFunction

Constructor & Destructor Documentation

◆ FRHITransientHeap()

FRHITransientHeap::FRHITransientHeap ( const FInitializer InInitializer)
inline

◆ ~FRHITransientHeap()

virtual FRHITransientHeap::~FRHITransientHeap ( )
virtualdefault

Member Function Documentation

◆ CreateBuffer()

FRHITransientBuffer * FRHITransientHeap::CreateBuffer ( const FRHIBufferCreateInfo CreateInfo,
const TCHAR DebugName,
const FRHITransientAllocationFences Fences,
uint64  CurrentAllocatorCycle,
uint64  BufferSize,
uint32  BufferAlignment,
FCreateBufferFunction  CreateBufferFunction 
)

◆ CreateTexture()

FRHITransientTexture * FRHITransientHeap::CreateTexture ( const FRHITextureCreateInfo CreateInfo,
const TCHAR DebugName,
const FRHITransientAllocationFences Fences,
uint64  CurrentAllocatorCycle,
uint64  TextureSize,
uint32  TextureAlignment,
FCreateTextureFunction  CreateTextureFunction 
)

◆ DeallocateMemory() [1/2]

void FRHITransientHeap::DeallocateMemory ( FRHITransientBuffer Buffer,
const FRHITransientAllocationFences Fences 
)

◆ DeallocateMemory() [2/2]

void FRHITransientHeap::DeallocateMemory ( FRHITransientTexture Texture,
const FRHITransientAllocationFences Fences 
)

◆ Flush()

void FRHITransientHeap::Flush ( uint64  CurrentAllocatorCycle,
FRHITransientMemoryStats OutMemoryStats,
FRHITransientAllocationStats OutAllocationStats 
)

◆ GetCapacity()

uint64 FRHITransientHeap::GetCapacity ( ) const
inline

◆ GetCommitSize()

uint64 FRHITransientHeap::GetCommitSize ( ) const
inline

◆ GetGPUVirtualAddress()

uint64 FRHITransientHeap::GetGPUVirtualAddress ( ) const
inline

◆ GetInitializer()

const FInitializer & FRHITransientHeap::GetInitializer ( ) const
inline

◆ GetLastUsedGarbageCollectCycle()

uint64 FRHITransientHeap::GetLastUsedGarbageCollectCycle ( ) const
inline

◆ IsAllocationSupported()

bool FRHITransientHeap::IsAllocationSupported ( uint64  Size,
ERHITransientHeapFlags  Flags 
) const
inline

◆ IsCommitRequired()

bool FRHITransientHeap::IsCommitRequired ( ) const
inline

◆ IsEmpty()

bool FRHITransientHeap::IsEmpty ( ) const
inline

◆ IsFull()

bool FRHITransientHeap::IsFull ( ) const
inline

◆ SetGpuVirtualAddress()

void FRHITransientHeap::SetGpuVirtualAddress ( uint64  InBaseGPUVirtualAddress)
inlineprotected

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