UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPrecacheComputePipelineCache Class Reference
+ Inheritance diagram for FPrecacheComputePipelineCache:

Public Member Functions

 FPrecacheComputePipelineCache (uint32 InMemoryPSOsMaxNum)
 
FPSOPrecacheRequestResult PrecacheComputePipelineState (FRHIComputeShader *ComputeShader, const TCHAR *Name, bool bForcePrecache)
 
- Public Member Functions inherited from TPrecachePipelineCacheBase< FPrecacheComputePipelineCache, FComputePipelineStateInitializer, FComputePipelineState >
 TPrecachePipelineCacheBase (FPSOPrecacheRequestID::EType InType, uint32 InMaxInMemoryPSOs)
 
 ~TPrecachePipelineCacheBase ()
 
void SetMaxInMemoryPSOs (uint32 NewMaxInMemoryPSOs)
 
void WaitTasksComplete ()
 
EPSOPrecacheResult GetPrecachingState (const FPSOPrecacheRequestID &RequestID)
 
EPSOPrecacheResult GetPrecachingState (const FComputePipelineStateInitializer &Initializer)
 
EPSOPrecacheResult GetPrecachingStateAndMarkUsed (const FComputePipelineStateInitializer &Initializer, bool &bOutMarkedUsed)
 
bool IsPrecaching ()
 
void BoostPriority (EPSOPrecachePriority PSOPrecachePriority, const FPSOPrecacheRequestID &RequestID)
 
uint32 NumActivePrecacheRequests ()
 
void PrecacheFinished (const FComputePipelineStateInitializer &Initializer, bool bValid)
 
void ProcessDelayedCleanup ()
 
void MarkPSOAsUsed (const FComputePipelineStateInitializer &Initializer)
 

Static Public Member Functions

static FComputePipelineStateCreateNewPSO (const FComputePipelineStateInitializer &ComputeShaderInitializer)
 
static void OnNewPipelineStateCreated (const FComputePipelineStateInitializer &ComputeInitializer, FComputePipelineState *NewComputePipelineState, const FString &PSOCompilationEventName, bool bDoAsyncCompile)
 
static const FName GetActiveCompileStatName ()
 
static const FName GetHighPriorityCompileStatName ()
 
static const FName GetHighestPriorityCompileStatName ()
 
static FORCEINLINE uint64 PipelineStateInitializerHash (const FComputePipelineStateInitializer &Key)
 
- Static Public Member Functions inherited from TPrecachePipelineCacheBase< FPrecacheComputePipelineCache, FComputePipelineStateInitializer, FComputePipelineState >
static bool IsCompilationDone (EPSOPrecacheStateMask StateMask)
 

Additional Inherited Members

- Protected Member Functions inherited from TPrecachePipelineCacheBase< FPrecacheComputePipelineCache, FComputePipelineStateInitializer, FComputePipelineState >
void RescheduleTaskToHighPriority (EPSOPrecacheStateMask NewState, EPSOPrecacheStateMask PrevState, FComputePipelineState *PipelineState)
 
FPSOPrecacheRequestResult TryAddNewState (const FComputePipelineStateInitializer &Initializer, const FString &PSOCompilationEventName, bool bDoAsyncCompile)
 
bool HasPSOBeenRequested (const FComputePipelineStateInitializer &Initializer, uint64 InitializerHash, FPSOPrecacheRequestResult &Result)
 
EPSOPrecacheResult GetPrecachingStateInternal (uint64 InitializerHash, bool bTryMarkUsed, bool &bOutMarkedUsed)
 
void UpdateActiveCompileCount (bool bIncrement)
 
void UpdateHighPriorityCompileCount (bool bIncrement)
 
void UpdateHighestPriorityCompileCount (bool bIncrement)
 
- Protected Attributes inherited from TPrecachePipelineCacheBase< FPrecacheComputePipelineCache, FComputePipelineStateInitializer, FComputePipelineState >
FPSOPrecacheRequestID::EType PSOType
 
FRWLock PrecachePSOsRWLock
 
TArray< uint64PrecachedPSOInitializers
 
TMap< uint64, FPrecacheTask > PrecachedPSOInitializerData
 
volatile int32 ActiveCompileCount
 
volatile int32 HighPriorityCompileCount
 
volatile int32 HighestPriorityCompileCount
 
TArray< uint64PrecachedPSOsToCleanup
 
TDeque< uint32InMemoryPSOIndices
 
uint32 MaxInMemoryPSOs
 

Constructor & Destructor Documentation

◆ FPrecacheComputePipelineCache()

FPrecacheComputePipelineCache::FPrecacheComputePipelineCache ( uint32  InMemoryPSOsMaxNum)
inline

Member Function Documentation

◆ CreateNewPSO()

static FComputePipelineState * FPrecacheComputePipelineCache::CreateNewPSO ( const FComputePipelineStateInitializer ComputeShaderInitializer)
inlinestatic

◆ GetActiveCompileStatName()

static const FName FPrecacheComputePipelineCache::GetActiveCompileStatName ( )
inlinestatic

◆ GetHighestPriorityCompileStatName()

static const FName FPrecacheComputePipelineCache::GetHighestPriorityCompileStatName ( )
inlinestatic

◆ GetHighPriorityCompileStatName()

static const FName FPrecacheComputePipelineCache::GetHighPriorityCompileStatName ( )
inlinestatic

◆ OnNewPipelineStateCreated()

void FPrecacheComputePipelineCache::OnNewPipelineStateCreated ( const FComputePipelineStateInitializer ComputeInitializer,
FComputePipelineState NewComputePipelineState,
const FString &  PSOCompilationEventName,
bool  bDoAsyncCompile 
)
static

◆ PipelineStateInitializerHash()

static FORCEINLINE uint64 FPrecacheComputePipelineCache::PipelineStateInitializerHash ( const FComputePipelineStateInitializer Key)
inlinestatic

◆ PrecacheComputePipelineState()

FPSOPrecacheRequestResult FPrecacheComputePipelineCache::PrecacheComputePipelineState ( FRHIComputeShader ComputeShader,
const TCHAR Name,
bool  bForcePrecache 
)

The documentation for this class was generated from the following file: