UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FShaderJobCache Class Reference

Public Member Functions

 FShaderJobCache (FCriticalSection &InCompileQueueSection)
 
 ~FShaderJobCache ()
 
template<typename JobType , typename KeyType >
JobTypePrepareJob (uint32 InId, const KeyType &InKey, EShaderCompileJobPriority InPriority)
 
void RemoveJob (FShaderCommonCompileJob *InJob)
 
int32 RemoveAllPendingJobsWithId (uint32 InId)
 
void SubmitJob (FShaderCommonCompileJob *Job)
 
void SubmitJobs (const TArray< FShaderCommonCompileJobPtr > &InJobs)
 
double ProcessFinishedJob (FShaderCommonCompileJob *FinishedJob, EShaderCompileJobStatus Status)
 
void AddToCacheAndProcessPending (FShaderCommonCompileJob *FinishedJob)
 
void GetStats (FShaderCompilerStats &OutStats) const
 
int32 GetNumPendingJobs (EShaderCompileJobPriority InPriority) const
 
int32 GetNumOutstandingJobs () const
 
int32 GetNumPendingJobs () const
 
int32 GetPendingJobs (EShaderCompilerWorkerType InWorkerType, EShaderCompileJobPriority InPriority, int32 MinNumJobs, int32 MaxNumJobs, TArray< FShaderCommonCompileJobPtr > &OutJobs)
 

Detailed Description

Private implementation class for FShaderCompileJobCollection

Constructor & Destructor Documentation

◆ FShaderJobCache()

FShaderJobCache::FShaderJobCache ( FCriticalSection InCompileQueueSection)

◆ ~FShaderJobCache()

FShaderJobCache::~FShaderJobCache ( )

Member Function Documentation

◆ AddToCacheAndProcessPending()

void FShaderJobCache::AddToCacheAndProcessPending ( FShaderCommonCompileJob FinishedJob)

Adds the job to cache.

◆ GetNumOutstandingJobs()

int32 FShaderJobCache::GetNumOutstandingJobs ( ) const

◆ GetNumPendingJobs() [1/2]

int32 FShaderJobCache::GetNumPendingJobs ( ) const

◆ GetNumPendingJobs() [2/2]

int32 FShaderJobCache::GetNumPendingJobs ( EShaderCompileJobPriority  InPriority) const

◆ GetPendingJobs()

int32 FShaderJobCache::GetPendingJobs ( EShaderCompilerWorkerType  InWorkerType,
EShaderCompileJobPriority  InPriority,
int32  MinNumJobs,
int32  MaxNumJobs,
TArray< FShaderCommonCompileJobPtr > &  OutJobs 
)

◆ GetStats()

void FShaderJobCache::GetStats ( FShaderCompilerStats OutStats) const

Populates caching stats in the given compiler stats struct.

◆ PrepareJob()

template<typename JobType , typename KeyType >
JobType * FShaderJobCache::PrepareJob ( uint32  InId,
const KeyType &  InKey,
EShaderCompileJobPriority  InPriority 
)
inline

◆ ProcessFinishedJob()

double FShaderJobCache::ProcessFinishedJob ( FShaderCommonCompileJob FinishedJob,
EShaderCompileJobStatus  Status 
)

This is an entry point for all jobs that have finished the compilation (whether real or cached). Can be called from multiple threads. Returns mutex stall time.

◆ RemoveAllPendingJobsWithId()

int32 FShaderJobCache::RemoveAllPendingJobsWithId ( uint32  InId)

◆ RemoveJob()

void FShaderJobCache::RemoveJob ( FShaderCommonCompileJob InJob)
inline

◆ SubmitJob()

void FShaderJobCache::SubmitJob ( FShaderCommonCompileJob Job)

◆ SubmitJobs()

void FShaderJobCache::SubmitJobs ( const TArray< FShaderCommonCompileJobPtr > &  InJobs)

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