UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TPrecachePipelineCacheBase< TPrecachePipelineCacheDerived, TPrecachedPSOInitializer, TPipelineState > Class Template Reference

Classes

struct  FPrecacheTask
 

Public Member Functions

 TPrecachePipelineCacheBase (FPSOPrecacheRequestID::EType InType, uint32 InMaxInMemoryPSOs)
 
 ~TPrecachePipelineCacheBase ()
 
void SetMaxInMemoryPSOs (uint32 NewMaxInMemoryPSOs)
 
void WaitTasksComplete ()
 
EPSOPrecacheResult GetPrecachingState (const FPSOPrecacheRequestID &RequestID)
 
EPSOPrecacheResult GetPrecachingState (const TPrecachedPSOInitializer &Initializer)
 
EPSOPrecacheResult GetPrecachingStateAndMarkUsed (const TPrecachedPSOInitializer &Initializer, bool &bOutMarkedUsed)
 
bool IsPrecaching ()
 
void BoostPriority (EPSOPrecachePriority PSOPrecachePriority, const FPSOPrecacheRequestID &RequestID)
 
uint32 NumActivePrecacheRequests ()
 
void PrecacheFinished (const TPrecachedPSOInitializer &Initializer, bool bValid)
 
void ProcessDelayedCleanup ()
 
void MarkPSOAsUsed (const TPrecachedPSOInitializer &Initializer)
 

Static Public Member Functions

static bool IsCompilationDone (EPSOPrecacheStateMask StateMask)
 

Protected Member Functions

void RescheduleTaskToHighPriority (EPSOPrecacheStateMask NewState, EPSOPrecacheStateMask PrevState, TPipelineState *PipelineState)
 
FPSOPrecacheRequestResult TryAddNewState (const TPrecachedPSOInitializer &Initializer, const FString &PSOCompilationEventName, bool bDoAsyncCompile)
 
bool HasPSOBeenRequested (const TPrecachedPSOInitializer &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

FPSOPrecacheRequestID::EType PSOType
 
FRWLock PrecachePSOsRWLock
 
TArray< uint64PrecachedPSOInitializers
 
TMap< uint64, FPrecacheTaskPrecachedPSOInitializerData
 
volatile int32 ActiveCompileCount = 0
 
volatile int32 HighPriorityCompileCount = 0
 
volatile int32 HighestPriorityCompileCount = 0
 
TArray< uint64PrecachedPSOsToCleanup
 
TDeque< uint32InMemoryPSOIndices
 
uint32 MaxInMemoryPSOs = 0
 

Constructor & Destructor Documentation

◆ TPrecachePipelineCacheBase()

◆ ~TPrecachePipelineCacheBase()

Member Function Documentation

◆ BoostPriority()

◆ GetPrecachingState() [1/2]

◆ GetPrecachingState() [2/2]

◆ GetPrecachingStateAndMarkUsed()

◆ GetPrecachingStateInternal()

EPSOPrecacheResult TPrecachePipelineCacheBase< TPrecachePipelineCacheDerived, TPrecachedPSOInitializer, TPipelineState >::GetPrecachingStateInternal ( uint64  InitializerHash,
bool  bTryMarkUsed,
bool bOutMarkedUsed 
)
inlineprotected

◆ HasPSOBeenRequested()

bool TPrecachePipelineCacheBase< TPrecachePipelineCacheDerived, TPrecachedPSOInitializer, TPipelineState >::HasPSOBeenRequested ( const TPrecachedPSOInitializer Initializer,
uint64  InitializerHash,
FPSOPrecacheRequestResult Result 
)
inlineprotected

◆ IsCompilationDone()

◆ IsPrecaching()

◆ MarkPSOAsUsed()

◆ NumActivePrecacheRequests()

◆ PrecacheFinished()

◆ ProcessDelayedCleanup()

◆ RescheduleTaskToHighPriority()

◆ SetMaxInMemoryPSOs()

◆ TryAddNewState()

FPSOPrecacheRequestResult TPrecachePipelineCacheBase< TPrecachePipelineCacheDerived, TPrecachedPSOInitializer, TPipelineState >::TryAddNewState ( const TPrecachedPSOInitializer Initializer,
const FString &  PSOCompilationEventName,
bool  bDoAsyncCompile 
)
inlineprotected

◆ UpdateActiveCompileCount()

◆ UpdateHighestPriorityCompileCount()

void TPrecachePipelineCacheBase< TPrecachePipelineCacheDerived, TPrecachedPSOInitializer, TPipelineState >::UpdateHighestPriorityCompileCount ( bool  bIncrement)
inlineprotected

◆ UpdateHighPriorityCompileCount()

void TPrecachePipelineCacheBase< TPrecachePipelineCacheDerived, TPrecachedPSOInitializer, TPipelineState >::UpdateHighPriorityCompileCount ( bool  bIncrement)
inlineprotected

◆ WaitTasksComplete()

Member Data Documentation

◆ ActiveCompileCount

◆ HighestPriorityCompileCount

◆ HighPriorityCompileCount

◆ InMemoryPSOIndices

◆ MaxInMemoryPSOs

◆ PrecachedPSOInitializerData

◆ PrecachedPSOInitializers

◆ PrecachedPSOsToCleanup

◆ PrecachePSOsRWLock

◆ PSOType


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