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

#include <D3D12Resources.h>

+ Inheritance diagram for FD3D12ResourceLocation:

Public Types

enum class  ResourceLocationType : uint8 {
  eUndefined , eStandAlone , eSubAllocation , eFastAllocation ,
  eMultiFrameFastAllocation , eAliased , eNodeReference , eHeapAliased
}
 
enum  EAllocatorType : uint8 { AT_Default , AT_SegList , AT_Pool , AT_Unknown = 0xff }
 

Public Member Functions

 FD3D12ResourceLocation (FD3D12Device *Parent)
 
 FD3D12ResourceLocation (FD3D12ResourceLocation &&Other)
 
 ~FD3D12ResourceLocation ()
 
void Clear ()
 
void SetOwner (FD3D12BaseShaderResource *InOwner)
 
void SetType (ResourceLocationType Value)
 
void SetResource (FD3D12Resource *Value)
 
void SetAllocator (FD3D12BaseAllocatorType *Value)
 
void SetSegListAllocator (FD3D12SegListAllocator *Value)
 
void SetPoolAllocator (FD3D12PoolAllocator *Value)
 
void ClearAllocator ()
 
void SetMappedBaseAddress (void *Value)
 
void SetGPUVirtualAddress (D3D12_GPU_VIRTUAL_ADDRESS Value)
 
void SetOffsetFromBaseOfResource (uint64 Value)
 
void SetSize (uint64 Value)
 
ResourceLocationType GetType () const
 
EAllocatorType GetAllocatorType () const
 
FD3D12BaseAllocatorTypeGetAllocator ()
 
FD3D12SegListAllocatorGetSegListAllocator ()
 
FD3D12PoolAllocatorGetPoolAllocator ()
 
FD3D12ResourceGetResource () const
 
voidGetMappedBaseAddress () const
 
D3D12_GPU_VIRTUAL_ADDRESS GetGPUVirtualAddress () const
 
uint64 GetOffsetFromBaseOfResource () const
 
uint64 GetSize () const
 
FD3D12BuddyAllocatorPrivateDataGetBuddyAllocatorPrivateData ()
 
FD3D12BlockAllocatorPrivateDataGetBlockAllocatorPrivateData ()
 
FD3D12SegListAllocatorPrivateDataGetSegListAllocatorPrivateData ()
 
FD3D12PoolAllocatorPrivateDataGetPoolAllocatorPrivateData ()
 
bool OnAllocationMoved (FD3D12ContextArray const &Contexts, FRHIPoolAllocationData *InNewData, ED3D12Access &OutRHIAccess)
 
void UnlockPoolData ()
 
bool IsValid () const
 
void AsStandAlone (FD3D12Resource *Resource, uint64 InSize=0, bool bInIsTransient=false, const D3D12_HEAP_PROPERTIES *CustomHeapProperties=nullptr)
 
bool IsStandaloneOrPooledPlacedResource () const
 
void AsHeapAliased (FD3D12Resource *Resource)
 
void AsFastAllocation (FD3D12Resource *Resource, uint32 BufferSize, D3D12_GPU_VIRTUAL_ADDRESS GPUBase, void *CPUBase, uint64 ResourceOffsetBase, uint64 Offset, bool bMultiFrame=false)
 
bool IsAliased () const
 
void SetTransient (bool bInTransient)
 
bool IsTransient () const
 
voidGetAddressForLLMTracking () const
 
- Public Member Functions inherited from FD3D12DeviceChild
 FD3D12DeviceChild (FD3D12Device *InParent=nullptr)
 
FORCEINLINE FD3D12DeviceGetParentDevice () const
 
FD3D12DeviceGetParentDevice_Unsafe () const
 

Static Public Member Functions

static void TransferOwnership (FD3D12ResourceLocation &Destination, FD3D12ResourceLocation &Source)
 
static void Alias (FD3D12ResourceLocation &Destination, FD3D12ResourceLocation &Source)
 
static void ReferenceNode (FD3D12Device *NodeDevice, FD3D12ResourceLocation &Destination, FD3D12ResourceLocation &Source)
 

Friends

class FD3D12PoolAllocator
 

Additional Inherited Members

- Protected Member Functions inherited from FNoncopyable
 FNoncopyable ()
 
 ~FNoncopyable ()
 
- Protected Attributes inherited from FD3D12DeviceChild
FD3D12DeviceParent
 

Member Enumeration Documentation

◆ EAllocatorType

Enumerator
AT_Default 
AT_SegList 
AT_Pool 
AT_Unknown 

◆ ResourceLocationType

Enumerator
eUndefined 
eStandAlone 
eSubAllocation 
eFastAllocation 
eMultiFrameFastAllocation 
eAliased 
eNodeReference 
eHeapAliased 

Constructor & Destructor Documentation

◆ FD3D12ResourceLocation() [1/2]

FD3D12ResourceLocation::FD3D12ResourceLocation ( FD3D12Device Parent)

◆ FD3D12ResourceLocation() [2/2]

FD3D12ResourceLocation::FD3D12ResourceLocation ( FD3D12ResourceLocation &&  Other)
inline

◆ ~FD3D12ResourceLocation()

FD3D12ResourceLocation::~FD3D12ResourceLocation ( )

Member Function Documentation

◆ Alias()

void FD3D12ResourceLocation::Alias ( FD3D12ResourceLocation Destination,
FD3D12ResourceLocation Source 
)
static

◆ AsFastAllocation()

void FD3D12ResourceLocation::AsFastAllocation ( FD3D12Resource Resource,
uint32  BufferSize,
D3D12_GPU_VIRTUAL_ADDRESS  GPUBase,
void CPUBase,
uint64  ResourceOffsetBase,
uint64  Offset,
bool  bMultiFrame = false 
)
inline

◆ AsHeapAliased()

void FD3D12ResourceLocation::AsHeapAliased ( FD3D12Resource Resource)
inline

◆ AsStandAlone()

void FD3D12ResourceLocation::AsStandAlone ( FD3D12Resource Resource,
uint64  InSize = 0,
bool  bInIsTransient = false,
const D3D12_HEAP_PROPERTIES CustomHeapProperties = nullptr 
)

◆ Clear()

void FD3D12ResourceLocation::Clear ( )

◆ ClearAllocator()

void FD3D12ResourceLocation::ClearAllocator ( )
inline

◆ GetAddressForLLMTracking()

void * FD3D12ResourceLocation::GetAddressForLLMTracking ( ) const
inline

Get an address used by LLM to track the GPU allocation that this location represents.

◆ GetAllocator()

FD3D12BaseAllocatorType * FD3D12ResourceLocation::GetAllocator ( )
inline

◆ GetAllocatorType()

EAllocatorType FD3D12ResourceLocation::GetAllocatorType ( ) const
inline

◆ GetBlockAllocatorPrivateData()

FD3D12BlockAllocatorPrivateData & FD3D12ResourceLocation::GetBlockAllocatorPrivateData ( )
inline

◆ GetBuddyAllocatorPrivateData()

FD3D12BuddyAllocatorPrivateData & FD3D12ResourceLocation::GetBuddyAllocatorPrivateData ( )
inline

◆ GetGPUVirtualAddress()

D3D12_GPU_VIRTUAL_ADDRESS FD3D12ResourceLocation::GetGPUVirtualAddress ( ) const
inline

◆ GetMappedBaseAddress()

void * FD3D12ResourceLocation::GetMappedBaseAddress ( ) const
inline

◆ GetOffsetFromBaseOfResource()

uint64 FD3D12ResourceLocation::GetOffsetFromBaseOfResource ( ) const
inline

◆ GetPoolAllocator()

FD3D12PoolAllocator * FD3D12ResourceLocation::GetPoolAllocator ( )
inline

◆ GetPoolAllocatorPrivateData()

FD3D12PoolAllocatorPrivateData & FD3D12ResourceLocation::GetPoolAllocatorPrivateData ( )
inline

◆ GetResource()

FD3D12Resource * FD3D12ResourceLocation::GetResource ( ) const
inline

◆ GetSegListAllocator()

FD3D12SegListAllocator * FD3D12ResourceLocation::GetSegListAllocator ( )
inline

◆ GetSegListAllocatorPrivateData()

FD3D12SegListAllocatorPrivateData & FD3D12ResourceLocation::GetSegListAllocatorPrivateData ( )
inline

◆ GetSize()

uint64 FD3D12ResourceLocation::GetSize ( ) const
inline

◆ GetType()

ResourceLocationType FD3D12ResourceLocation::GetType ( ) const
inline

◆ IsAliased()

bool FD3D12ResourceLocation::IsAliased ( ) const
inline

◆ IsStandaloneOrPooledPlacedResource()

bool FD3D12ResourceLocation::IsStandaloneOrPooledPlacedResource ( ) const

◆ IsTransient()

bool FD3D12ResourceLocation::IsTransient ( ) const
inline

◆ IsValid()

bool FD3D12ResourceLocation::IsValid ( ) const
inline

◆ OnAllocationMoved()

bool FD3D12ResourceLocation::OnAllocationMoved ( FD3D12ContextArray const &  Contexts,
FRHIPoolAllocationData InNewData,
ED3D12Access OutRHIAccess 
)

◆ ReferenceNode()

void FD3D12ResourceLocation::ReferenceNode ( FD3D12Device NodeDevice,
FD3D12ResourceLocation Destination,
FD3D12ResourceLocation Source 
)
static

◆ SetAllocator()

void FD3D12ResourceLocation::SetAllocator ( FD3D12BaseAllocatorType Value)
inline

◆ SetGPUVirtualAddress()

void FD3D12ResourceLocation::SetGPUVirtualAddress ( D3D12_GPU_VIRTUAL_ADDRESS  Value)
inline

◆ SetMappedBaseAddress()

void FD3D12ResourceLocation::SetMappedBaseAddress ( void Value)
inline

◆ SetOffsetFromBaseOfResource()

void FD3D12ResourceLocation::SetOffsetFromBaseOfResource ( uint64  Value)
inline

◆ SetOwner()

void FD3D12ResourceLocation::SetOwner ( FD3D12BaseShaderResource InOwner)
inline

◆ SetPoolAllocator()

void FD3D12ResourceLocation::SetPoolAllocator ( FD3D12PoolAllocator Value)
inline

◆ SetResource()

void FD3D12ResourceLocation::SetResource ( FD3D12Resource Value)

◆ SetSegListAllocator()

void FD3D12ResourceLocation::SetSegListAllocator ( FD3D12SegListAllocator Value)
inline

◆ SetSize()

void FD3D12ResourceLocation::SetSize ( uint64  Value)
inline

◆ SetTransient()

void FD3D12ResourceLocation::SetTransient ( bool  bInTransient)
inline

◆ SetType()

void FD3D12ResourceLocation::SetType ( ResourceLocationType  Value)
inline

◆ TransferOwnership()

void FD3D12ResourceLocation::TransferOwnership ( FD3D12ResourceLocation Destination,
FD3D12ResourceLocation Source 
)
static

◆ UnlockPoolData()

void FD3D12ResourceLocation::UnlockPoolData ( )

Friends And Related Symbol Documentation

◆ FD3D12PoolAllocator

Member Data Documentation

◆ Allocator

FD3D12BaseAllocatorType* FD3D12ResourceLocation::Allocator

◆ PoolAllocator

FD3D12PoolAllocator* FD3D12ResourceLocation::PoolAllocator

◆ SegListAllocator

FD3D12SegListAllocator* FD3D12ResourceLocation::SegListAllocator

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