UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PipelineFileCache.h File Reference
#include "CoreMinimal.h"
#include "Containers/List.h"
#include "Containers/MpscQueue.h"
#include "Containers/StringView.h"
#include "RHI.h"
#include "RHIShaderBindingLayout.h"

Go to the source code of this file.

Classes

struct  FPipelineFileCacheRasterizerState
 
struct  FPipelineStateStats
 
struct  FPipelineCacheFileFormatPSO
 
struct  FPipelineCacheFileFormatPSO::ComputeDescriptor
 
struct  FPipelineCacheFileFormatPSO::GraphicsDescriptor
 
struct  FPipelineCacheFileFormatPSO::FPipelineFileCacheRayTracingDesc
 
struct  FPipelineCacheFileFormatPSORead
 
struct  FPipelineCachePSOHeader
 
struct  FPSOUsageData
 
class  FPipelineFileCacheManager
 

Macros

#define PIPELINE_CACHE_DEFAULT_ENABLED   (!WITH_EDITOR)
 
#define PSO_COOKONLY_DATA   (WITH_EDITOR || IS_PROGRAM)
 

Typedefs

typedef bool(* FPSOMaskComparisonFn) (uint64 ReferenceMask, uint64 PSOMask)
 

Functions

 DECLARE_STATS_GROUP (TEXT("ShaderPipelineCache"), STATGROUP_PipelineStateCache, STATCAT_Advanced)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Total Graphics Pipeline State Count"), STAT_TotalGraphicsPipelineStateCount, STATGROUP_PipelineStateCache, RHI_API)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Total Compute Pipeline State Count"), STAT_TotalComputePipelineStateCount, STATGROUP_PipelineStateCache, RHI_API)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Total RayTracing Pipeline State Count"), STAT_TotalRayTracingPipelineStateCount, STATGROUP_PipelineStateCache, RHI_API)
 

Variables

RHI_API const uint32 FPipelineCacheFileFormatCurrentVersion
 

Macro Definition Documentation

◆ PIPELINE_CACHE_DEFAULT_ENABLED

#define PIPELINE_CACHE_DEFAULT_ENABLED   (!WITH_EDITOR)

◆ PSO_COOKONLY_DATA

#define PSO_COOKONLY_DATA   (WITH_EDITOR || IS_PROGRAM)

PSO_COOKONLY_DATA

  • Is a transitory data area that should only be used during the cook and stable pipeline cache file generation processes.
  • If def'ing it out in GAME builds helps to reduce confusion as to where the actual data resides
  • Should not be serialized or used in comparsion operations (e.g. UsageMask: PSO need to be able to compare equal with different Masks during cook).

Typedef Documentation

◆ FPSOMaskComparisonFn

typedef bool(* FPSOMaskComparisonFn) (uint64 ReferenceMask, uint64 PSOMask)

Function Documentation

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [1/3]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Total Compute Pipeline State Count" ,
STAT_TotalComputePipelineStateCount  ,
STATGROUP_PipelineStateCache  ,
RHI_API   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [2/3]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Total Graphics Pipeline State Count" ,
STAT_TotalGraphicsPipelineStateCount  ,
STATGROUP_PipelineStateCache  ,
RHI_API   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [3/3]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Total RayTracing Pipeline State Count" ,
STAT_TotalRayTracingPipelineStateCount  ,
STATGROUP_PipelineStateCache  ,
RHI_API   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("ShaderPipelineCache")  ,
STATGROUP_PipelineStateCache  ,
STATCAT_Advanced   
)

Variable Documentation

◆ FPipelineCacheFileFormatCurrentVersion

RHI_API const uint32 FPipelineCacheFileFormatCurrentVersion
extern