UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PSOPrecache.h File Reference
#include "RHIDefinitions.h"
#include "RHIFeatureLevel.h"
#include "RHIResources.h"
#include "Engine/EngineTypes.h"
#include "PipelineStateCache.h"
#include "PSOPrecacheFwd.h"
#include "Shader.h"

Go to the source code of this file.

Classes

struct  FPSOPrecacheParams
 
struct  FPSOPrecacheVertexFactoryData
 
struct  FPSOPrecacheVertexFactoryDataPerMaterialIndex
 
struct  FMaterialInterfacePSOPrecacheParams
 
struct  FShaderPreloadData
 
struct  FPSOPrecacheData
 
struct  FMaterialPSOPrecacheParams
 
class  FGlobalPSOCollectorManager
 
class  FRegisterGlobalPSOCollectorFunction
 

Typedefs

using FVertexDeclarationElementListID = uint16
 
typedef TArray< FPSOPrecacheVertexFactoryData, TInlineAllocator< 2 > > FPSOPrecacheVertexFactoryDataList
 
typedef TArray< FPSOPrecacheVertexFactoryDataPerMaterialIndex, TInlineAllocator< 4 > > FPSOPrecacheVertexFactoryDataPerMaterialIndexList
 
typedef TArray< FPSOPrecacheDataFPSOPrecacheDataArray
 
typedef TArray< FPSOPrecacheRequestResult, TInlineAllocator< 4 > > FPSOPrecacheRequestResultArray
 
typedef void(* GlobalPSOCollectorFunction) (const FSceneTexturesConfig &SceneTexturesConfig, int32 GlobalPSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
 

Enumerations

enum class  EPSOPrecacheType : uint8 { Global = 0 , MeshPass }
 
enum class  EPSOPrecacheMode : uint8 { PSO = 0 , PreloadShader = 1 }
 
enum class  EPSOPrecacheProxyCreationStrategy : uint8 { AlwaysCreate = 0 , DelayUntilPSOPrecached = 1 , UseDefaultMaterialUntilPSOPrecached = 2 }
 

Functions

ENGINE_API void AddMaterialInterfacePSOPrecacheParamsToList (const FMaterialInterfacePSOPrecacheParams &EntryToAdd, FMaterialInterfacePSOPrecacheParamsList &List)
 
ENGINE_API EPSOPrecacheMode GetPSOPrecacheMode ()
 
ENGINE_API bool IsComponentPSOPrecachingEnabled ()
 
ENGINE_API bool IsResourcePSOPrecachingEnabled ()
 
ENGINE_API bool ShouldBoostPSOPrecachePriorityOnDraw ()
 
ENGINE_API bool IsPSOShaderPreloadingEnabled ()
 
ENGINE_API EPSOPrecacheProxyCreationStrategy GetPSOPrecacheProxyCreationStrategy ()
 
ENGINE_API bool ProxyCreationWhenPSOReady ()
 
ENGINE_API void BoostPrecachedPSORequestsOnDraw (const class FPrimitiveSceneInfo *SceneInfo)
 
ENGINE_API FPSOPrecacheRequestResultArray RequestPrecachePSOs (EPSOPrecacheType PSOPrecacheType, const FPSOPrecacheDataArray &PSOInitializers)
 

Typedef Documentation

◆ FPSOPrecacheDataArray

◆ FPSOPrecacheRequestResultArray

◆ FPSOPrecacheVertexFactoryDataList

◆ FPSOPrecacheVertexFactoryDataPerMaterialIndexList

◆ FVertexDeclarationElementListID

◆ GlobalPSOCollectorFunction

typedef void(* GlobalPSOCollectorFunction) (const FSceneTexturesConfig &SceneTexturesConfig, int32 GlobalPSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)

Predeclared global PSOCollector function

Enumeration Type Documentation

◆ EPSOPrecacheMode

enum class EPSOPrecacheMode : uint8
strong
Enumerator
PSO 
PreloadShader 

◆ EPSOPrecacheProxyCreationStrategy

Enumerator
AlwaysCreate 
DelayUntilPSOPrecached 
UseDefaultMaterialUntilPSOPrecached 

◆ EPSOPrecacheType

enum class EPSOPrecacheType : uint8
strong
Enumerator
Global 
MeshPass 

Function Documentation

◆ AddMaterialInterfacePSOPrecacheParamsToList()

ENGINE_API void AddMaterialInterfacePSOPrecacheParamsToList ( const FMaterialInterfacePSOPrecacheParams EntryToAdd,
FMaterialInterfacePSOPrecacheParamsList List 
)
extern

◆ BoostPrecachedPSORequestsOnDraw()

ENGINE_API void BoostPrecachedPSORequestsOnDraw ( const class FPrimitiveSceneInfo SceneInfo)
extern

Boost the primitive's precache PSO jobs to highest priority.

◆ GetPSOPrecacheMode()

ENGINE_API EPSOPrecacheMode GetPSOPrecacheMode ( )
extern

◆ GetPSOPrecacheProxyCreationStrategy()

ENGINE_API EPSOPrecacheProxyCreationStrategy GetPSOPrecacheProxyCreationStrategy ( )
extern

◆ IsComponentPSOPrecachingEnabled()

ENGINE_API bool IsComponentPSOPrecachingEnabled ( )
extern

Precaching PSOs for components?

◆ IsPSOShaderPreloadingEnabled()

ENGINE_API bool IsPSOShaderPreloadingEnabled ( )
extern

Dynamically preload shaders

◆ IsResourcePSOPrecachingEnabled()

ENGINE_API bool IsResourcePSOPrecachingEnabled ( )
extern

Precaching PSOs for resources?

◆ ProxyCreationWhenPSOReady()

ENGINE_API bool ProxyCreationWhenPSOReady ( )
extern

Delay component proxy creation when it's requested PSOs are still precaching

◆ RequestPrecachePSOs()

ENGINE_API FPSOPrecacheRequestResultArray RequestPrecachePSOs ( EPSOPrecacheType  PSOPrecacheType,
const FPSOPrecacheDataArray PSOInitializers 
)
extern

Start the actual async PSO precache request from the given list of initializers

Start the actual PSO precache tasks for all the initializers provided and return the request result array containing the graph event on which to wait for the PSOs to finish compiling

◆ ShouldBoostPSOPrecachePriorityOnDraw()

ENGINE_API bool ShouldBoostPSOPrecachePriorityOnDraw ( )
extern

Boost drawn PSO precache request priority