UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VulkanMemory.cpp File Reference

Classes

struct  VulkanRHI::FVulkanMemoryAllocation
 
struct  VulkanRHI::FVulkanMemoryBucket
 
struct  VulkanRHI::FResourceHeapStats
 

Namespaces

namespace  VulkanRHI
 

Macros

#define UE_VK_MEMORY_MAX_SUB_ALLOCATION   (64llu << 20llu)
 
#define UE_VK_MEMORY_KEEP_FREELIST_SORTED   1
 
#define UE_VK_MEMORY_JOIN_FREELIST_ON_THE_FLY   (UE_VK_MEMORY_KEEP_FREELIST_SORTED && 1)
 
#define UE_VK_MEMORY_KEEP_FREELIST_SORTED_CATCHBUGS   0
 
#define VULKAN_LOG_MEMORY_UELOG   1
 
#define VULKAN_LOGMEMORY(fmt, ...)   UE_LOG(LogVulkanRHI, Display, fmt, ##__VA_ARGS__)
 
#define VULKAN_FILL_TRACK_INFO(...)   do{VulkanTrackFillInfo(__VA_ARGS__);}while(0)
 
#define VULKAN_FREE_TRACK_INFO(...)   do{VulkanTrackFreeInfo(__VA_ARGS__);}while(0)
 
#define VULKAN_TRACK_STRING(s)   VulkanTrackGetString(s)
 
#define VULKAN_LOGMEMORY_PAD   TEXT("\t\t---------------------------------------------------------------------------------------------------------------------------------------------------------")
 
#define VULKAN_LOGMEMORY_PAD2   TEXT("\t\t------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------")
 
#define VKSWITCH(Type, ...)   case EType::Type: __VA_ARGS__; VulkanRHI::vkDestroy##Type(DeviceHandle, (Vk##Type)Entry.Handle, VULKAN_CPU_ALLOCATOR); break
 

Functions

 DECLARE_STATS_GROUP_SORTBYNAME (TEXT("Vulkan Memory Raw"), STATGROUP_VulkanMemoryRaw, STATCAT_Advanced)
 
 DECLARE_MEMORY_STAT (TEXT("Dedicated Memory"), STAT_VulkanDedicatedMemory, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 0"), STAT_VulkanMemory0, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 1"), STAT_VulkanMemory1, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 2"), STAT_VulkanMemory2, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 3"), STAT_VulkanMemory3, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 4"), STAT_VulkanMemory4, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 5"), STAT_VulkanMemory5, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool (remaining)"), STAT_VulkanMemoryX, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 0 Reserved"), STAT_VulkanMemory0Reserved, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 1 Reserved"), STAT_VulkanMemory1Reserved, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 2 Reserved"), STAT_VulkanMemory2Reserved, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 3 Reserved"), STAT_VulkanMemory3Reserved, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 4 Reserved"), STAT_VulkanMemory4Reserved, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool 5 Reserved"), STAT_VulkanMemory5Reserved, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("MemoryPool (remaining) Reserved"), STAT_VulkanMemoryXReserved, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("_Total Allocated"), STAT_VulkanMemoryTotal, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("_Reserved"), STAT_VulkanMemoryReserved, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 0 Budget"), STAT_VulkanMemoryBudget0, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 1 Budget"), STAT_VulkanMemoryBudget1, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 2 Budget"), STAT_VulkanMemoryBudget2, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 3 Budget"), STAT_VulkanMemoryBudget3, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 4 Budget"), STAT_VulkanMemoryBudget4, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 5 Budget"), STAT_VulkanMemoryBudget5, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap (remaining) Budget"), STAT_VulkanMemoryBudgetX, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 0 Usage"), STAT_VulkanMemoryUsage0, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 1 Usage"), STAT_VulkanMemoryUsage1, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 2 Usage"), STAT_VulkanMemoryUsage2, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 3 Usage"), STAT_VulkanMemoryUsage3, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 4 Usage"), STAT_VulkanMemoryUsage4, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_MEMORY_STAT (TEXT("Memory Heap 5 Usage"), STAT_VulkanMemoryUsage5, STATGROUP_VulkanMemoryRaw)
 
 DECLARE_STATS_GROUP (TEXT("Vulkan Memory"), STATGROUP_VulkanMemory, STATCAT_Advanced)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Unknown"), STAT_VulkanAllocation_Unknown, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("UniformBuffer"), STAT_VulkanAllocation_UniformBuffer, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("MultiBuffer"), STAT_VulkanAllocation_MultiBuffer, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("RingBuffer"), STAT_VulkanAllocation_RingBuffer, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("FrameTempBuffer"), STAT_VulkanAllocation_FrameTempBuffer, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("ImageRenderTarget"), STAT_VulkanAllocation_ImageRenderTarget, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("ImageOther"), STAT_VulkanAllocation_ImageOther, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("BufferUAV"), STAT_VulkanAllocation_BufferUAV, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("BufferStaging"), STAT_VulkanAllocation_BufferStaging, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("BufferOther"), STAT_VulkanAllocation_BufferOther, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("TempBlocks"), STAT_VulkanAllocation_TempBlocks, STATGROUP_VulkanMemory,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("_Total"), STAT_VulkanAllocation_Allocated, STATGROUP_VulkanMemory,)
 
 DEFINE_STAT (STAT_VulkanAllocation_UniformBuffer)
 
 DEFINE_STAT (STAT_VulkanAllocation_MultiBuffer)
 
 DEFINE_STAT (STAT_VulkanAllocation_RingBuffer)
 
 DEFINE_STAT (STAT_VulkanAllocation_FrameTempBuffer)
 
 DEFINE_STAT (STAT_VulkanAllocation_ImageRenderTarget)
 
 DEFINE_STAT (STAT_VulkanAllocation_ImageOther)
 
 DEFINE_STAT (STAT_VulkanAllocation_BufferUAV)
 
 DEFINE_STAT (STAT_VulkanAllocation_BufferStaging)
 
 DEFINE_STAT (STAT_VulkanAllocation_BufferOther)
 
 DEFINE_STAT (STAT_VulkanAllocation_TempBlocks)
 
 DEFINE_STAT (STAT_VulkanAllocation_Allocated)
 
RENDERCORE_API void DumpRenderTargetPoolMemory (FOutputDevice &OutputDevice)
 
FString VulkanTrackGetString (FVulkanTrackInfo &Track)
 
void VulkanTrackFillInfo (FVulkanTrackInfo &Track, const char *File, uint32 Line)
 
void VulkanTrackFreeInfo (FVulkanTrackInfo &Track)
 
template<typename Callback >
void VulkanRHI::IterateVulkanAllocations (Callback F, uint32 AllocatorIndex)
 
const TCHARVulkanRHI::VulkanAllocationTypeToString (EVulkanAllocationType Type)
 
const TCHARVulkanRHI::VulkanAllocationMetaTypeToString (EVulkanAllocationMetaType MetaType)
 
bool VulkanRHI::MetaTypeCanEvict (EVulkanAllocationMetaType MetaType)
 

Variables

uint32 GVulkanRHIDeletionFrameNumber = 0
 
int32 GVulkanLogDefrag = 0
 
float GVulkanDefragSizeFactor = 1.3f
 
float GVulkanDefragSizeFraction = .7f
 
int32 GVulkanDefragAgeDelay = 100
 
int32 GVulkanDefragPaused = 0
 
int32 GVulkanDefragAutoPause = 0
 
int32 GVulkanUseBufferBinning = 0
 
int32 GVulkanBudgetPercentageScale = 100
 
int32 GVulkanEnableDedicatedImageMemory = 1
 
int32 GVulkanSingleAllocationPerResource = VULKAN_SINGLE_ALLOCATION_PER_RESOURCE
 
int32 GVulkanEvictOnePage = 0
 
int32 GVulkanEnableDefrag = 1
 
int32 GVulkanDefragOnce = 0
 
constexpr int32 GForceCoherent = 0
 

Macro Definition Documentation

◆ UE_VK_MEMORY_JOIN_FREELIST_ON_THE_FLY

#define UE_VK_MEMORY_JOIN_FREELIST_ON_THE_FLY   (UE_VK_MEMORY_KEEP_FREELIST_SORTED && 1)

◆ UE_VK_MEMORY_KEEP_FREELIST_SORTED

#define UE_VK_MEMORY_KEEP_FREELIST_SORTED   1

◆ UE_VK_MEMORY_KEEP_FREELIST_SORTED_CATCHBUGS

#define UE_VK_MEMORY_KEEP_FREELIST_SORTED_CATCHBUGS   0

◆ UE_VK_MEMORY_MAX_SUB_ALLOCATION

#define UE_VK_MEMORY_MAX_SUB_ALLOCATION   (64llu << 20llu)

◆ VKSWITCH

#define VKSWITCH (   Type,
  ... 
)    case EType::Type: __VA_ARGS__; VulkanRHI::vkDestroy##Type(DeviceHandle, (Vk##Type)Entry.Handle, VULKAN_CPU_ALLOCATOR); break

◆ VULKAN_FILL_TRACK_INFO

#define VULKAN_FILL_TRACK_INFO (   ...)    do{VulkanTrackFillInfo(__VA_ARGS__);}while(0)

◆ VULKAN_FREE_TRACK_INFO

#define VULKAN_FREE_TRACK_INFO (   ...)    do{VulkanTrackFreeInfo(__VA_ARGS__);}while(0)

◆ VULKAN_LOG_MEMORY_UELOG

#define VULKAN_LOG_MEMORY_UELOG   1

◆ VULKAN_LOGMEMORY

#define VULKAN_LOGMEMORY (   fmt,
  ... 
)    UE_LOG(LogVulkanRHI, Display, fmt, ##__VA_ARGS__)

◆ VULKAN_LOGMEMORY_PAD

#define VULKAN_LOGMEMORY_PAD   TEXT("\t\t---------------------------------------------------------------------------------------------------------------------------------------------------------")

◆ VULKAN_LOGMEMORY_PAD2

#define VULKAN_LOGMEMORY_PAD2   TEXT("\t\t------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------")

◆ VULKAN_TRACK_STRING

#define VULKAN_TRACK_STRING (   s)    VulkanTrackGetString(s)

Function Documentation

◆ DECLARE_MEMORY_STAT() [1/30]

DECLARE_MEMORY_STAT ( TEXT("_Reserved")  ,
STAT_VulkanMemoryReserved  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [2/30]

DECLARE_MEMORY_STAT ( TEXT("_Total Allocated" ,
STAT_VulkanMemoryTotal  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [3/30]

DECLARE_MEMORY_STAT ( TEXT("Dedicated Memory" ,
STAT_VulkanDedicatedMemory  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [4/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap (remaining) Budget" ,
STAT_VulkanMemoryBudgetX  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [5/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 0 Budget" ,
STAT_VulkanMemoryBudget0  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [6/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 0 Usage" ,
STAT_VulkanMemoryUsage0  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [7/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 1 Budget" ,
STAT_VulkanMemoryBudget1  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [8/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 1 Usage" ,
STAT_VulkanMemoryUsage1  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [9/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 2 Budget" ,
STAT_VulkanMemoryBudget2  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [10/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 2 Usage" ,
STAT_VulkanMemoryUsage2  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [11/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 3 Budget" ,
STAT_VulkanMemoryBudget3  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [12/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 3 Usage" ,
STAT_VulkanMemoryUsage3  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [13/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 4 Budget" ,
STAT_VulkanMemoryBudget4  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [14/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 4 Usage" ,
STAT_VulkanMemoryUsage4  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [15/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 5 Budget" ,
STAT_VulkanMemoryBudget5  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [16/30]

DECLARE_MEMORY_STAT ( TEXT("Memory Heap 5 Usage" ,
STAT_VulkanMemoryUsage5  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [17/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool (remaining) Reserved" ,
STAT_VulkanMemoryXReserved  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [18/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool (remaining)")  ,
STAT_VulkanMemoryX  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [19/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 0 Reserved" ,
STAT_VulkanMemory0Reserved  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [20/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 0")  ,
STAT_VulkanMemory0  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [21/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 1 Reserved" ,
STAT_VulkanMemory1Reserved  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [22/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 1")  ,
STAT_VulkanMemory1  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [23/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 2 Reserved" ,
STAT_VulkanMemory2Reserved  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [24/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 2")  ,
STAT_VulkanMemory2  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [25/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 3 Reserved" ,
STAT_VulkanMemory3Reserved  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [26/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 3")  ,
STAT_VulkanMemory3  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [27/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 4 Reserved" ,
STAT_VulkanMemory4Reserved  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [28/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 4")  ,
STAT_VulkanMemory4  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [29/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 5 Reserved" ,
STAT_VulkanMemory5Reserved  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT() [30/30]

DECLARE_MEMORY_STAT ( TEXT("MemoryPool 5")  ,
STAT_VulkanMemory5  ,
STATGROUP_VulkanMemoryRaw   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [1/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("_Total")  ,
STAT_VulkanAllocation_Allocated  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [2/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("BufferOther")  ,
STAT_VulkanAllocation_BufferOther  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [3/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("BufferStaging")  ,
STAT_VulkanAllocation_BufferStaging  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [4/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("BufferUAV")  ,
STAT_VulkanAllocation_BufferUAV  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [5/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("FrameTempBuffer")  ,
STAT_VulkanAllocation_FrameTempBuffer  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [6/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("ImageOther")  ,
STAT_VulkanAllocation_ImageOther  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [7/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("ImageRenderTarget")  ,
STAT_VulkanAllocation_ImageRenderTarget  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [8/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("MultiBuffer")  ,
STAT_VulkanAllocation_MultiBuffer  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [9/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("RingBuffer")  ,
STAT_VulkanAllocation_RingBuffer  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [10/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("TempBlocks")  ,
STAT_VulkanAllocation_TempBlocks  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [11/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("UniformBuffer")  ,
STAT_VulkanAllocation_UniformBuffer  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [12/12]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Unknown")  ,
STAT_VulkanAllocation_Unknown  ,
STATGROUP_VulkanMemory   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Vulkan Memory" ,
STATGROUP_VulkanMemory  ,
STATCAT_Advanced   
)

◆ DECLARE_STATS_GROUP_SORTBYNAME()

DECLARE_STATS_GROUP_SORTBYNAME ( TEXT("Vulkan Memory Raw" ,
STATGROUP_VulkanMemoryRaw  ,
STATCAT_Advanced   
)

◆ DEFINE_STAT() [1/11]

◆ DEFINE_STAT() [2/11]

◆ DEFINE_STAT() [3/11]

◆ DEFINE_STAT() [4/11]

◆ DEFINE_STAT() [5/11]

◆ DEFINE_STAT() [6/11]

◆ DEFINE_STAT() [7/11]

◆ DEFINE_STAT() [8/11]

◆ DEFINE_STAT() [9/11]

◆ DEFINE_STAT() [10/11]

◆ DEFINE_STAT() [11/11]

◆ DumpRenderTargetPoolMemory()

RENDERCORE_API void DumpRenderTargetPoolMemory ( FOutputDevice OutputDevice)

◆ VulkanTrackFillInfo()

void VulkanTrackFillInfo ( FVulkanTrackInfo Track,
const char File,
uint32  Line 
)

◆ VulkanTrackFreeInfo()

void VulkanTrackFreeInfo ( FVulkanTrackInfo Track)

◆ VulkanTrackGetString()

FString VulkanTrackGetString ( FVulkanTrackInfo Track)

Variable Documentation

◆ FreeListIndex

int32 FreeListIndex = -1

◆ GForceCoherent

constexpr int32 GForceCoherent = 0
constexpr

◆ GVulkanBudgetPercentageScale

int32 GVulkanBudgetPercentageScale = 100

◆ GVulkanDefragAgeDelay

int32 GVulkanDefragAgeDelay = 100

◆ GVulkanDefragAutoPause

int32 GVulkanDefragAutoPause = 0

◆ GVulkanDefragOnce

int32 GVulkanDefragOnce = 0

◆ GVulkanDefragPaused

int32 GVulkanDefragPaused = 0

◆ GVulkanDefragSizeFactor

float GVulkanDefragSizeFactor = 1.3f

◆ GVulkanDefragSizeFraction

float GVulkanDefragSizeFraction = .7f

◆ GVulkanEnableDedicatedImageMemory

int32 GVulkanEnableDedicatedImageMemory = 1

◆ GVulkanEnableDefrag

int32 GVulkanEnableDefrag = 1

◆ GVulkanEvictOnePage

int32 GVulkanEvictOnePage = 0

◆ GVulkanLogDefrag

int32 GVulkanLogDefrag = 0

◆ GVulkanRHIDeletionFrameNumber

uint32 GVulkanRHIDeletionFrameNumber = 0

◆ GVulkanSingleAllocationPerResource

int32 GVulkanSingleAllocationPerResource = VULKAN_SINGLE_ALLOCATION_PER_RESOURCE

◆ GVulkanUseBufferBinning

int32 GVulkanUseBufferBinning = 0

◆ InternalIndex

int32 InternalIndex = -1

◆ Offset

uint32 Offset = 0xffffffff

◆ Size