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

Classes

struct  FParallelUpdateRange
 
struct  FParallelUpdateRanges
 
struct  FPrimitiveUploadInfoHeader
 
struct  FInstanceUploadInfo
 
struct  FLightMapUploadInfo
 
struct  FUploadDataSourceAdapterScenePrimitives
 
struct  FInstanceUploadBatch
 
struct  FInstanceUploadBatch::FItem
 
struct  FInstanceBatcher
 
struct  FInstanceBatcher::FPrimitiveItemInfo
 
struct  FUploadDataSourceAdapterDynamicPrimitives
 
struct  FPrimitiveSceneDebugNameInfo
 
class  FGPUSceneDebugRenderCS
 
class  FGPUSceneSetInstancePrimitiveIdCS
 

Macros

#define FORCEINLINE_GPUSCENE   FORCEINLINE
 
#define LOG_INSTANCE_ALLOCATIONS   0
 

Functions

 CSV_DEFINE_CATEGORY (GPUScene, false)
 
 DEFINE_GPU_STAT (GPUSceneUpdate)
 
 IMPLEMENT_SCENE_UB_STRUCT (FGPUSceneResourceParameters, GPUScene, ConstructDefault)
 
 IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT (FGPUSceneWriterUniformParameters, "GPUSceneWriter")
 
 LLM_DECLARE_TAG_API (GPUScene, RENDERER_API)
 
 DECLARE_LLM_MEMORY_STAT (TEXT("GPUScene"), STAT_GPUSceneLLM, STATGROUP_LLMFULL)
 
 DECLARE_LLM_MEMORY_STAT (TEXT("GPUScene"), STAT_GPUSceneSummaryLLM, STATGROUP_LLM)
 
 LLM_DEFINE_TAG (GPUScene, NAME_None, NAME_None, GET_STATFNAME(STAT_GPUSceneLLM), GET_STATFNAME(STAT_GPUSceneSummaryLLM))
 
FORCEINLINE void ValidateInstanceUploadInfo (const FInstanceUploadInfo &, FRDGBuffer *)
 
void AddOrMergeInstanceRange (TArray< FGPUSceneInstanceRange > &Output, FGPUSceneInstanceRange Range)
 
 IMPLEMENT_GLOBAL_SHADER (FGPUSceneDebugRenderCS, "/Engine/Private/GPUSceneDebugRender.usf", "GPUSceneDebugRenderCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FGPUSceneSetInstancePrimitiveIdCS, "/Engine/Private/GPUScene/GPUSceneDataManagement.usf", "GPUSceneSetInstancePrimitiveIdCS", SF_Compute)
 

Variables

constexpr uint64 MaxPayloadBufferSizeInFloat4 = uint64(2) << (30 - 4)
 

Macro Definition Documentation

◆ FORCEINLINE_GPUSCENE

#define FORCEINLINE_GPUSCENE   FORCEINLINE

◆ LOG_INSTANCE_ALLOCATIONS

#define LOG_INSTANCE_ALLOCATIONS   0

Function Documentation

◆ AddOrMergeInstanceRange()

void AddOrMergeInstanceRange ( TArray< FGPUSceneInstanceRange > &  Output,
FGPUSceneInstanceRange  Range 
)
inline

◆ CSV_DEFINE_CATEGORY()

CSV_DEFINE_CATEGORY ( GPUScene  ,
false   
)

◆ DECLARE_LLM_MEMORY_STAT() [1/2]

DECLARE_LLM_MEMORY_STAT ( TEXT("GPUScene")  ,
STAT_GPUSceneLLM  ,
STATGROUP_LLMFULL   
)

◆ DECLARE_LLM_MEMORY_STAT() [2/2]

DECLARE_LLM_MEMORY_STAT ( TEXT("GPUScene")  ,
STAT_GPUSceneSummaryLLM  ,
STATGROUP_LLM   
)

◆ DEFINE_GPU_STAT()

DEFINE_GPU_STAT ( GPUSceneUpdate  )

◆ IMPLEMENT_GLOBAL_SHADER() [1/2]

IMPLEMENT_GLOBAL_SHADER ( FGPUSceneDebugRenderCS  ,
"/Engine/Private/GPUSceneDebugRender.usf"  ,
"GPUSceneDebugRenderCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/2]

IMPLEMENT_GLOBAL_SHADER ( FGPUSceneSetInstancePrimitiveIdCS  ,
"/Engine/Private/GPUScene/GPUSceneDataManagement.usf"  ,
"GPUSceneSetInstancePrimitiveIdCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT()

IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT ( FGPUSceneWriterUniformParameters  ,
"GPUSceneWriter"   
)

◆ IMPLEMENT_SCENE_UB_STRUCT()

IMPLEMENT_SCENE_UB_STRUCT ( FGPUSceneResourceParameters  ,
GPUScene  ,
ConstructDefault   
)

◆ LLM_DECLARE_TAG_API()

LLM_DECLARE_TAG_API ( GPUScene  ,
RENDERER_API   
)

◆ LLM_DEFINE_TAG()

LLM_DEFINE_TAG ( GPUScene  ,
NAME_None  ,
NAME_None  ,
GET_STATFNAME(STAT_GPUSceneLLM ,
GET_STATFNAME(STAT_GPUSceneSummaryLLM  
)

◆ ValidateInstanceUploadInfo()

FORCEINLINE void ValidateInstanceUploadInfo ( const FInstanceUploadInfo ,
FRDGBuffer  
)

Variable Documentation

◆ MaxPayloadBufferSizeInFloat4

constexpr uint64 MaxPayloadBufferSizeInFloat4 = uint64(2) << (30 - 4)
constexpr