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

Classes

struct  FVulkanRayTracingGeometryParameters
 
class  FVulkanRayTracingPipelineLibraryCache
 
struct  FVulkanRayTracingPipelineLibraryCache::FKey
 
struct  FVulkanRayTracingPipelineLibraryCache::FPipelineLibrary
 

Macros

#define CHECK_VK_ENTRYPOINTS(Type, Func)   if (VulkanDynamicAPI::Func == NULL) { bFoundAllEntryPoints = false; UE_LOG(LogRHI, Warning, TEXT("Failed to find entry point for %s"), TEXT(#Func)); }
 

Enumerations

enum class  EBLASBuildDataUsage { Rendering = 0 , Size = 1 }
 

Functions

 DECLARE_STATS_GROUP (TEXT("Vulkan: Ray Tracing"), STATGROUP_VulkanRayTracing, STATCAT_Advanced)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("Created pipelines (total)"), STAT_VulkanRayTracingCreatedPipelines, STATGROUP_VulkanRayTracing)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("Compiled shaders (total)"), STAT_VulkanRayTracingCompiledShaders, STATGROUP_VulkanRayTracing)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("Allocated bottom level acceleration structures"), STAT_VulkanRayTracingAllocatedBLAS, STATGROUP_VulkanRayTracing)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("Allocated top level acceleration structures"), STAT_VulkanRayTracingAllocatedTLAS, STATGROUP_VulkanRayTracing)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("Triangles in all BL acceleration structures"), STAT_VulkanRayTracingTrianglesBLAS, STATGROUP_VulkanRayTracing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Built BL AS (per frame)"), STAT_VulkanRayTracingBuiltBLAS, STATGROUP_VulkanRayTracing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Updated BL AS (per frame)"), STAT_VulkanRayTracingUpdatedBLAS, STATGROUP_VulkanRayTracing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Built TL AS (per frame)"), STAT_VulkanRayTracingBuiltTLAS, STATGROUP_VulkanRayTracing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Updated TL AS (per frame)"), STAT_VulkanRayTracingUpdatedTLAS, STATGROUP_VulkanRayTracing)
 
 DECLARE_MEMORY_STAT (TEXT("Total BL AS Memory"), STAT_VulkanRayTracingBLASMemory, STATGROUP_VulkanRayTracing)
 
 DECLARE_MEMORY_STAT (TEXT("Static BL AS Memory"), STAT_VulkanRayTracingStaticBLASMemory, STATGROUP_VulkanRayTracing)
 
 DECLARE_MEMORY_STAT (TEXT("Dynamic BL AS Memory"), STAT_VulkanRayTracingDynamicBLASMemory, STATGROUP_VulkanRayTracing)
 
 DECLARE_MEMORY_STAT (TEXT("TL AS Memory"), STAT_VulkanRayTracingTLASMemory, STATGROUP_VulkanRayTracing)
 
 DECLARE_MEMORY_STAT (TEXT("Total Used Video Memory"), STAT_VulkanRayTracingUsedVideoMemory, STATGROUP_VulkanRayTracing)
 
 DECLARE_CYCLE_STAT (TEXT("RTPSO Compile Shader"), STAT_RTPSO_CompileShader, STATGROUP_VulkanRayTracing)
 
 DECLARE_CYCLE_STAT (TEXT("RTPSO Create Pipeline"), STAT_RTPSO_CreatePipeline, STATGROUP_VulkanRayTracing)
 
void BuildAccelerationStructure (FVulkanCommandListContext &CommandContext, FVulkanRayTracingScene &Scene, FVulkanBuffer *InScratchBuffer, uint32 InScratchOffset, FVulkanBuffer *InInstanceBuffer, uint32 InInstanceOffset, uint32 NumInstances, EAccelerationStructureBuildMode BuildMode)
 

Macro Definition Documentation

◆ CHECK_VK_ENTRYPOINTS

#define CHECK_VK_ENTRYPOINTS (   Type,
  Func 
)    if (VulkanDynamicAPI::Func == NULL) { bFoundAllEntryPoints = false; UE_LOG(LogRHI, Warning, TEXT("Failed to find entry point for %s"), TEXT(#Func)); }

Enumeration Type Documentation

◆ EBLASBuildDataUsage

enum class EBLASBuildDataUsage
strong
Enumerator
Rendering 
Size 

Function Documentation

◆ BuildAccelerationStructure()

void BuildAccelerationStructure ( FVulkanCommandListContext CommandContext,
FVulkanRayTracingScene Scene,
FVulkanBuffer InScratchBuffer,
uint32  InScratchOffset,
FVulkanBuffer InInstanceBuffer,
uint32  InInstanceOffset,
uint32  NumInstances,
EAccelerationStructureBuildMode  BuildMode 
)

◆ DECLARE_CYCLE_STAT() [1/2]

DECLARE_CYCLE_STAT ( TEXT("RTPSO Compile Shader" ,
STAT_RTPSO_CompileShader  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_CYCLE_STAT() [2/2]

DECLARE_CYCLE_STAT ( TEXT("RTPSO Create Pipeline" ,
STAT_RTPSO_CreatePipeline  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT() [1/5]

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("Allocated bottom level acceleration structures" ,
STAT_VulkanRayTracingAllocatedBLAS  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT() [2/5]

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("Allocated top level acceleration structures" ,
STAT_VulkanRayTracingAllocatedTLAS  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT() [3/5]

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("Compiled shaders (total)")  ,
STAT_VulkanRayTracingCompiledShaders  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT() [4/5]

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("Created pipelines (total)")  ,
STAT_VulkanRayTracingCreatedPipelines  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT() [5/5]

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("Triangles in all BL acceleration structures" ,
STAT_VulkanRayTracingTrianglesBLAS  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [1/4]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Built BL AS (per frame)")  ,
STAT_VulkanRayTracingBuiltBLAS  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [2/4]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Built TL AS (per frame)")  ,
STAT_VulkanRayTracingBuiltTLAS  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [3/4]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Updated BL AS (per frame)")  ,
STAT_VulkanRayTracingUpdatedBLAS  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [4/4]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Updated TL AS (per frame)")  ,
STAT_VulkanRayTracingUpdatedTLAS  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_MEMORY_STAT() [1/5]

DECLARE_MEMORY_STAT ( TEXT("Dynamic BL AS Memory" ,
STAT_VulkanRayTracingDynamicBLASMemory  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_MEMORY_STAT() [2/5]

DECLARE_MEMORY_STAT ( TEXT("Static BL AS Memory" ,
STAT_VulkanRayTracingStaticBLASMemory  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_MEMORY_STAT() [3/5]

DECLARE_MEMORY_STAT ( TEXT("TL AS Memory" ,
STAT_VulkanRayTracingTLASMemory  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_MEMORY_STAT() [4/5]

DECLARE_MEMORY_STAT ( TEXT("Total BL AS Memory" ,
STAT_VulkanRayTracingBLASMemory  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_MEMORY_STAT() [5/5]

DECLARE_MEMORY_STAT ( TEXT("Total Used Video Memory" ,
STAT_VulkanRayTracingUsedVideoMemory  ,
STATGROUP_VulkanRayTracing   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Vulkan: Ray Tracing" ,
STATGROUP_VulkanRayTracing  ,
STATCAT_Advanced   
)