UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VulkanRHIPrivate.h File Reference
#include "CoreMinimal.h"
#include "Containers/IndirectArray.h"
#include "Misc/ScopeLock.h"
#include "RHI.h"
#include "RenderUtils.h"
#include "RHIValidation.h"
#include "VulkanPlatform.h"
#include "VulkanConfiguration.h"
#include "VulkanCommandWrappers.h"
#include "VulkanState.h"
#include "VulkanResources.h"
#include "VulkanUtil.h"
#include "VulkanViewport.h"
#include "VulkanDynamicRHI.h"
#include "GPUProfiler.h"
#include "VulkanQueue.h"
#include "VulkanCommandBuffer.h"
#include "Stats/Stats.h"

Go to the source code of this file.

Classes

union  UNvidiaDriverVersion
 

Namespaces

namespace  VulkanRHI
 

Functions

template<typename BitsType >
constexpr bool VKHasAllFlags (VkFlags Flags, BitsType Contains)
 
template<typename BitsType >
constexpr bool VKHasAnyFlags (VkFlags Flags, BitsType Contains)
 
VkShaderStageFlagBits UEFrequencyToVKStageBit (EShaderFrequency InStage)
 
EShaderFrequency VkStageBitToUEFrequency (VkShaderStageFlagBits FlagBits)
 
void VulkanSetImageLayout (FVulkanCommandBuffer *CmdBuffer, VkImage Image, VkImageLayout OldLayout, VkImageLayout NewLayout, const VkImageSubresourceRange &SubresourceRange)
 
 DECLARE_STATS_GROUP (TEXT("Vulkan PSO"), STATGROUP_VulkanPSO, STATCAT_Advanced)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("PSO LRU Elements"), STAT_VulkanNumPSOLRU, STATGROUP_VulkanPSO,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("PSO LRU Size"), STAT_VulkanNumPSOLRUSize, STATGROUP_VulkanPSO,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num PSOs"), STAT_VulkanNumPSOs, STATGROUP_VulkanPSO,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Graphics PSOs"), STAT_VulkanNumGraphicsPSOs, STATGROUP_VulkanPSO,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Compute PSOs"), STAT_VulkanNumComputePSOs, STATGROUP_VulkanPSO,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("VulkanPSOKey Memory"), STAT_VulkanPSOKeyMemory, STATGROUP_VulkanPSO,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("PSO HeaderInit time"), STAT_VulkanPSOHeaderInitTime, STATGROUP_VulkanPSO,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("PSO Lookup time"), STAT_VulkanPSOLookupTime, STATGROUP_VulkanPSO,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("PSO Creation time"), STAT_VulkanPSOCreationTime, STATGROUP_VulkanPSO,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("PSO Vulkan Creation time"), STAT_VulkanPSOVulkanCreationTime, STATGROUP_VulkanPSO,)
 
 DECLARE_STATS_GROUP (TEXT("Vulkan Graphic Pipeline Libraries"), STATGROUP_VulkanGraphicPipelineLibs, STATCAT_Advanced)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Regular PSO Compile Count"), STAT_VulkanRegPSOCompileCount, STATGROUP_VulkanGraphicPipelineLibs,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Library PSO Compile Count"), STAT_VulkanLibPSOCompileCount, STATGROUP_VulkanGraphicPipelineLibs,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num VertexInput Libraries"), STAT_VulkanNumVertexInputLibs, STATGROUP_VulkanGraphicPipelineLibs,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num VS Libraries"), STAT_VulkanNumVSLibs, STATGROUP_VulkanGraphicPipelineLibs,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num MS Libraries"), STAT_VulkanNumMSLibs, STATGROUP_VulkanGraphicPipelineLibs,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num PS Libraries"), STAT_VulkanNumPSLibs, STATGROUP_VulkanGraphicPipelineLibs,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num FragmentOutputState Libraries"), STAT_VulkanNumFragOutputStateLibs, STATGROUP_VulkanGraphicPipelineLibs,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Shader Modules"), STAT_VulkanNumShaderModule, STATGROUP_VulkanGraphicPipelineLibs,)
 
 DECLARE_STATS_GROUP (TEXT("Vulkan RHI"), STATGROUP_VulkanRHI, STATCAT_Advanced)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Draw call time"), STAT_VulkanDrawCallTime, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Dispatch call time"), STAT_VulkanDispatchCallTime, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Draw call prep time"), STAT_VulkanDrawCallPrepareTime, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CustomPresent time"), STAT_VulkanCustomPresentTime, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Dispatch call prep time"), STAT_VulkanDispatchCallPrepareTime, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Get Or Create Pipeline"), STAT_VulkanGetOrCreatePipeline, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Get DescriptorSet"), STAT_VulkanGetDescriptorSet, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Pipeline Bind"), STAT_VulkanPipelineBind, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Cmd Buffers"), STAT_VulkanNumCmdBuffers, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Render Passes"), STAT_VulkanNumRenderPasses, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Frame Buffers"), STAT_VulkanNumFrameBuffers, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Buffer Views"), STAT_VulkanNumBufferViews, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Image Views"), STAT_VulkanNumImageViews, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Physical Mem Allocations"), STAT_VulkanNumPhysicalMemAllocations, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Uniform Buffer Creation Time"), STAT_VulkanUniformBufferCreateTime, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Apply Packed Uniform Buffers"), STAT_VulkanApplyPackedUniformBuffers, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("SRV Update Time"), STAT_VulkanSRVUpdateTime, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("UAV Update Time"), STAT_VulkanUAVUpdateTime, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Deletion Queue"), STAT_VulkanDeletionQueue, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Queue Submit"), STAT_VulkanQueueSubmit, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Queue Present"), STAT_VulkanQueuePresent, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Queries"), STAT_VulkanNumQueries, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Query Pools"), STAT_VulkanNumQueryPools, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Wait For Fence"), STAT_VulkanWaitFence, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Wait For Swapchain"), STAT_VulkanWaitSwapchain, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Acquire Backbuffer"), STAT_VulkanAcquireBackBuffer, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Staging Buffer Mgmt"), STAT_VulkanStagingBuffer, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("VkCreateDescriptorPool"), STAT_VulkanVkCreateDescriptorPool, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Created DescSet Pools"), STAT_VulkanNumDescPools, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("UpdateUniformBuffers"), STAT_VulkanUpdateUniformBuffers, STATGROUP_VulkanRHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("UpdateUniformBuffersRename"), STAT_VulkanUpdateUniformBuffersRename, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Pooled Barrier Events"), STAT_VulkanNumPooledBarrierEvents, STATGROUP_VulkanRHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Max Potential Desc Sets"), STAT_VulkanNumDescSetsTotal, STATGROUP_VulkanRHI,)
 
VkFormat UEToVkTextureFormat (EPixelFormat UEFormat, const bool bIsSRGB)
 
VkImageLayout VulkanRHI::GetMergedDepthStencilLayout (VkImageLayout DepthLayout, VkImageLayout StencilLayout)
 
void VulkanRHI::HeavyWeightBarrier (VkCommandBuffer CmdBuffer)
 
void VulkanRHI::DebugHeavyWeightBarrier (VkCommandBuffer CmdBuffer, int32 CVarConditionMask)
 
bool UseVulkanDescriptorCache ()
 
bool ValidateShadingRateDataType ()
 

Variables

VkFormat GVulkanSRGBFormat [PF_MAX]
 
int32 GWaitForIdleOnSubmit
 
const int GMaxCrashBufferEntries = 2048
 
VULKANRHI_API class FVulkanDynamicRHIGVulkanRHI
 
TAtomic< uint64GVulkanBufferHandleIdCounter
 
TAtomic< uint64GVulkanBufferViewHandleIdCounter
 
TAtomic< uint64GVulkanImageViewHandleIdCounter
 
TAtomic< uint64GVulkanSamplerHandleIdCounter
 
TAtomic< uint64GVulkanDSetLayoutHandleIdCounter
 

Function Documentation

◆ DECLARE_CYCLE_STAT_EXTERN() [1/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Acquire Backbuffer" ,
STAT_VulkanAcquireBackBuffer  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Apply Packed Uniform Buffers" ,
STAT_VulkanApplyPackedUniformBuffers  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CustomPresent time" ,
STAT_VulkanCustomPresentTime  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [4/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Deletion Queue" ,
STAT_VulkanDeletionQueue  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [5/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Dispatch call prep time" ,
STAT_VulkanDispatchCallPrepareTime  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [6/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Dispatch call time" ,
STAT_VulkanDispatchCallTime  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [7/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Draw call prep time" ,
STAT_VulkanDrawCallPrepareTime  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [8/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Draw call time" ,
STAT_VulkanDrawCallTime  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [9/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Get DescriptorSet" ,
STAT_VulkanGetDescriptorSet  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [10/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Get Or Create Pipeline" ,
STAT_VulkanGetOrCreatePipeline  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [11/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Pipeline Bind" ,
STAT_VulkanPipelineBind  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [12/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("PSO Creation time" ,
STAT_VulkanPSOCreationTime  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [13/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("PSO HeaderInit time" ,
STAT_VulkanPSOHeaderInitTime  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [14/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("PSO Lookup time" ,
STAT_VulkanPSOLookupTime  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [15/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("PSO Vulkan Creation time" ,
STAT_VulkanPSOVulkanCreationTime  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [16/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Queue Present" ,
STAT_VulkanQueuePresent  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [17/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Queue Submit" ,
STAT_VulkanQueueSubmit  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [18/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("SRV Update Time" ,
STAT_VulkanSRVUpdateTime  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [19/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Staging Buffer Mgmt" ,
STAT_VulkanStagingBuffer  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [20/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("UAV Update Time" ,
STAT_VulkanUAVUpdateTime  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [21/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Uniform Buffer Creation Time" ,
STAT_VulkanUniformBufferCreateTime  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [22/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("UpdateUniformBuffers")  ,
STAT_VulkanUpdateUniformBuffers  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [23/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("UpdateUniformBuffersRename")  ,
STAT_VulkanUpdateUniformBuffersRename  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [24/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("VkCreateDescriptorPool")  ,
STAT_VulkanVkCreateDescriptorPool  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [25/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Wait For Fence" ,
STAT_VulkanWaitFence  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [26/26]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Wait For Swapchain" ,
STAT_VulkanWaitSwapchain  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [1/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Library PSO Compile Count" ,
STAT_VulkanLibPSOCompileCount  ,
STATGROUP_VulkanGraphicPipelineLibs   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [2/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Max Potential Desc Sets" ,
STAT_VulkanNumDescSetsTotal  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [3/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Buffer Views" ,
STAT_VulkanNumBufferViews  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [4/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Cmd Buffers" ,
STAT_VulkanNumCmdBuffers  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [5/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Compute PSOs" ,
STAT_VulkanNumComputePSOs  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [6/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Created DescSet Pools" ,
STAT_VulkanNumDescPools  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [7/25]

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [8/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Frame Buffers" ,
STAT_VulkanNumFrameBuffers  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [9/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Graphics PSOs" ,
STAT_VulkanNumGraphicsPSOs  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [10/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Image Views" ,
STAT_VulkanNumImageViews  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [11/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num MS Libraries" ,
STAT_VulkanNumMSLibs  ,
STATGROUP_VulkanGraphicPipelineLibs   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [12/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Physical Mem Allocations" ,
STAT_VulkanNumPhysicalMemAllocations  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [13/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Pooled Barrier Events" ,
STAT_VulkanNumPooledBarrierEvents  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [14/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num PS Libraries" ,
STAT_VulkanNumPSLibs  ,
STATGROUP_VulkanGraphicPipelineLibs   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [15/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num PSOs" ,
STAT_VulkanNumPSOs  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [16/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Queries" ,
STAT_VulkanNumQueries  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [17/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Query Pools" ,
STAT_VulkanNumQueryPools  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [18/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Render Passes" ,
STAT_VulkanNumRenderPasses  ,
STATGROUP_VulkanRHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [19/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Shader Modules" ,
STAT_VulkanNumShaderModule  ,
STATGROUP_VulkanGraphicPipelineLibs   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [20/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num VertexInput Libraries" ,
STAT_VulkanNumVertexInputLibs  ,
STATGROUP_VulkanGraphicPipelineLibs   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [21/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num VS Libraries" ,
STAT_VulkanNumVSLibs  ,
STATGROUP_VulkanGraphicPipelineLibs   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [22/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("PSO LRU Elements" ,
STAT_VulkanNumPSOLRU  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [23/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("PSO LRU Size" ,
STAT_VulkanNumPSOLRUSize  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [24/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Regular PSO Compile Count" ,
STAT_VulkanRegPSOCompileCount  ,
STATGROUP_VulkanGraphicPipelineLibs   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [25/25]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("VulkanPSOKey Memory" ,
STAT_VulkanPSOKeyMemory  ,
STATGROUP_VulkanPSO   
)

◆ DECLARE_STATS_GROUP() [1/3]

◆ DECLARE_STATS_GROUP() [2/3]

DECLARE_STATS_GROUP ( TEXT("Vulkan PSO" ,
STATGROUP_VulkanPSO  ,
STATCAT_Advanced   
)

◆ DECLARE_STATS_GROUP() [3/3]

DECLARE_STATS_GROUP ( TEXT("Vulkan RHI" ,
STATGROUP_VulkanRHI  ,
STATCAT_Advanced   
)

◆ UEFrequencyToVKStageBit()

VkShaderStageFlagBits UEFrequencyToVKStageBit ( EShaderFrequency  InStage)
inline

◆ UEToVkTextureFormat()

VkFormat UEToVkTextureFormat ( EPixelFormat  UEFormat,
const bool  bIsSRGB 
)
inline

◆ UseVulkanDescriptorCache()

bool UseVulkanDescriptorCache ( )
inline

◆ ValidateShadingRateDataType()

bool ValidateShadingRateDataType ( )
inline

◆ VKHasAllFlags()

template<typename BitsType >
constexpr bool VKHasAllFlags ( VkFlags  Flags,
BitsType  Contains 
)
constexpr

◆ VKHasAnyFlags()

template<typename BitsType >
constexpr bool VKHasAnyFlags ( VkFlags  Flags,
BitsType  Contains 
)
constexpr

◆ VkStageBitToUEFrequency()

EShaderFrequency VkStageBitToUEFrequency ( VkShaderStageFlagBits  FlagBits)
inline

◆ VulkanSetImageLayout()

void VulkanSetImageLayout ( FVulkanCommandBuffer CmdBuffer,
VkImage  Image,
VkImageLayout  OldLayout,
VkImageLayout  NewLayout,
const VkImageSubresourceRange SubresourceRange 
)

Variable Documentation

◆ GMaxCrashBufferEntries

const int GMaxCrashBufferEntries = 2048

◆ GVulkanBufferHandleIdCounter

TAtomic<uint64> GVulkanBufferHandleIdCounter
extern

◆ GVulkanBufferViewHandleIdCounter

TAtomic<uint64> GVulkanBufferViewHandleIdCounter
extern

◆ GVulkanDSetLayoutHandleIdCounter

TAtomic<uint64> GVulkanDSetLayoutHandleIdCounter
extern

◆ GVulkanImageViewHandleIdCounter

TAtomic<uint64> GVulkanImageViewHandleIdCounter
extern

◆ GVulkanRHI

VULKANRHI_API class FVulkanDynamicRHI* GVulkanRHI
extern

◆ GVulkanSamplerHandleIdCounter

TAtomic<uint64> GVulkanSamplerHandleIdCounter
extern

◆ GVulkanSRGBFormat

VkFormat GVulkanSRGBFormat[PF_MAX]
extern

◆ GWaitForIdleOnSubmit

int32 GWaitForIdleOnSubmit
extern