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

#include <ShaderCompiler.h>

Public Member Functions

 FShaderCompileJobCollection (FCriticalSection &InCompileQueueSection)
 
FShaderCompileJobPrepareJob (uint32 InId, const FShaderCompileJobKey &InKey, EShaderCompileJobPriority InPriority)
 
FShaderPipelineCompileJobPrepareJob (uint32 InId, const FShaderPipelineCompileJobKey &InKey, EShaderCompileJobPriority InPriority)
 
void RemoveJob (FShaderCommonCompileJob *InJob)
 
int32 RemoveAllPendingJobsWithId (uint32 InId)
 
void SubmitJobs (const TArray< FShaderCommonCompileJobPtr > &InJobs)
 
void ProcessFinishedJob (FShaderCommonCompileJob *FinishedJob, EShaderCompileJobStatus Status)
 
void AddToCacheAndProcessPending (FShaderCommonCompileJob *FinishedJob)
 
void GetCachingStats (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)
 

Constructor & Destructor Documentation

◆ FShaderCompileJobCollection()

FShaderCompileJobCollection::FShaderCompileJobCollection ( FCriticalSection InCompileQueueSection)

Member Function Documentation

◆ AddToCacheAndProcessPending()

void FShaderCompileJobCollection::AddToCacheAndProcessPending ( FShaderCommonCompileJob FinishedJob)

Adds the job to cache.

◆ GetCachingStats()

void FShaderCompileJobCollection::GetCachingStats ( FShaderCompilerStats OutStats) const

Retrieve caching statistics.

◆ GetNumOutstandingJobs()

int32 FShaderCompileJobCollection::GetNumOutstandingJobs ( ) const

◆ GetNumPendingJobs() [1/2]

int32 FShaderCompileJobCollection::GetNumPendingJobs ( ) const

◆ GetNumPendingJobs() [2/2]

int32 FShaderCompileJobCollection::GetNumPendingJobs ( EShaderCompileJobPriority  InPriority) const

◆ GetPendingJobs()

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

Despite being named a getter, this is drawing entries out of the list of pending compile jobs, i.e. the returned jobs will be removed from the list of pending jobs.

◆ PrepareJob() [1/2]

FShaderCompileJob * FShaderCompileJobCollection::PrepareJob ( uint32  InId,
const FShaderCompileJobKey InKey,
EShaderCompileJobPriority  InPriority 
)

◆ PrepareJob() [2/2]

FShaderPipelineCompileJob * FShaderCompileJobCollection::PrepareJob ( uint32  InId,
const FShaderPipelineCompileJobKey InKey,
EShaderCompileJobPriority  InPriority 
)

◆ ProcessFinishedJob()

void FShaderCompileJobCollection::ProcessFinishedJob ( FShaderCommonCompileJob FinishedJob,
EShaderCompileJobStatus  Status 
)

Called for all completed jobs, including those that were cache hits, duplicates of other in flight jobs, or skipped due to failed preprocessing. Can be called from multiple threads.

◆ RemoveAllPendingJobsWithId()

int32 FShaderCompileJobCollection::RemoveAllPendingJobsWithId ( uint32  InId)

◆ RemoveJob()

void FShaderCompileJobCollection::RemoveJob ( FShaderCommonCompileJob InJob)

◆ SubmitJobs()

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

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