![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <ShaderCompilerJobTypes.h>
Inheritance diagram for FShaderCommonCompileJob:Static Public Member Functions | |
| static RENDERCORE_API uint32 | GetNextJobId () |
Public Attributes | |
| FShaderCommonCompileJob * | NextLink = nullptr |
| FShaderCommonCompileJob ** | PrevLink = nullptr |
| FPendingShaderMapCompileResultsPtr | PendingShaderMap |
| FThreadSafeCounter | NumRefs |
| int32 | JobIndex |
| uint32 | Hash |
| uint32 | Id |
| EShaderCompileJobType | Type |
| EShaderCompileJobPriority | Priority |
| EShaderCompileJobPriority | PendingPriority |
| EShaderCompilerWorkerType | CurrentWorker |
| TPimplPtr< UE::DerivedData::FRequestOwner > | RequestOwner |
| uint8 | bFinalized: 1 |
| uint8 | bSucceeded: 1 |
| uint8 | bErrorsAreLikelyToBeCode: 1 |
| uint8 | bReleased: 1 |
| uint8 | bInputHashSet: 1 |
| uint8 | bIsDefaultMaterial: 1 |
| uint8 | bIsGlobalShader: 1 |
| uint8 | bBypassCache: 1 |
| FShaderCompilerInputHash | InputHash |
| double | TimeAddedToPendingQueue = 0.0 |
| double | TimeAssignedToExecution = 0.0 |
| double | TimeExecutionCompleted = 0.0 |
| double | TimeTaskSubmitJobs = 0.0 |
| double | TimeTaskSubmitJobsStall = 0.0 |
| FShaderJobCacheRef | JobCacheRef |
| TSharedPtr< FShaderCompileJobStatus > | JobStatusPtr |
Protected Member Functions | |
| FShaderCommonCompileJob (EShaderCompileJobType InType, uint32 InHash, uint32 InId, EShaderCompileJobPriority InPriority) | |
| virtual | ~FShaderCommonCompileJob () |
Friends | |
| class | FShaderCompilingManager |
| class | FShaderPipelineCompileJob |
Stores all of the common information used to compile a shader or pipeline.
|
inlineprotected |
|
inlineprotectedvirtual |
|
inline |
|
pure virtual |
Implemented in FShaderCompileJob, and FShaderPipelineCompileJob.
|
pure virtual |
Generates a diagnostics string for this compile job suitable for the output log.
Implemented in FShaderCompileJob, and FShaderPipelineCompileJob.
|
inline |
| void FShaderCommonCompileJob::ForEachSingleShaderJob | ( | const TFunction< void(const FShaderCompileJob &SingleJob)> & | Predicate | ) | const |
Calls the specified predicate for each single compile job, i.e. FShaderCompileJob and each stage of FShaderPipelineCompileJob.
| void FShaderCommonCompileJob::ForEachSingleShaderJob | ( | const TFunction< void(FShaderCompileJob &SingleJob)> & | Predicate | ) |
|
inlinevirtual |
Returns hash of all inputs for this job (needed for caching).
Reimplemented in FShaderCompileJob, and FShaderPipelineCompileJob.
|
static |
This returns a unique id for a shader compiler job
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Implemented in FShaderCompileJob, and FShaderPipelineCompileJob.
|
pure virtual |
Implemented in FShaderCompileJob, and FShaderPipelineCompileJob.
|
inline |
|
inlinevirtual |
Serializes (and deserializes) the output for caching purposes.
Reimplemented in FShaderCompileJob, and FShaderPipelineCompileJob.
|
inline |
|
inline |
|
friend |
|
friend |
| uint8 FShaderCommonCompileJob::bBypassCache |
Whether or not to bypass the job/ddc caches when executing this job
| uint8 FShaderCommonCompileJob::bErrorsAreLikelyToBeCode |
| uint8 FShaderCommonCompileJob::bFinalized |
true if the results of the shader compile have been processed.
| uint8 FShaderCommonCompileJob::bInputHashSet |
Whether we hashed the inputs
| uint8 FShaderCommonCompileJob::bIsDefaultMaterial |
Whether or not we are a default material.
| uint8 FShaderCommonCompileJob::bIsGlobalShader |
Whether or not we are a global shader.
| uint8 FShaderCommonCompileJob::bReleased |
true if the results of the shader compile have been released from the FShaderCompilerManager. After a job is bFinalized it will be bReleased when ReleaseJob() is invoked, which means that the shader compile thread is no longer processing the job; which is useful for non standard job handling (Niagara as an example).
| uint8 FShaderCommonCompileJob::bSucceeded |
Output of the shader compile
| EShaderCompilerWorkerType FShaderCommonCompileJob::CurrentWorker |
| uint32 FShaderCommonCompileJob::Hash |
| uint32 FShaderCommonCompileJob::Id |
Id of the shader map this shader belongs to.
| FShaderCompilerInputHash FShaderCommonCompileJob::InputHash |
Hash of all the job inputs
| FShaderJobCacheRef FShaderCommonCompileJob::JobCacheRef |
| int32 FShaderCommonCompileJob::JobIndex |
| TSharedPtr<FShaderCompileJobStatus> FShaderCommonCompileJob::JobStatusPtr |
| FShaderCommonCompileJob* FShaderCommonCompileJob::NextLink = nullptr |
Linked list support – not using TIntrusiveLinkedList because we want lock free insertion not supported by the core class
|
mutable |
| EShaderCompileJobPriority FShaderCommonCompileJob::PendingPriority |
| FPendingShaderMapCompileResultsPtr FShaderCommonCompileJob::PendingShaderMap |
| FShaderCommonCompileJob** FShaderCommonCompileJob::PrevLink = nullptr |
| EShaderCompileJobPriority FShaderCommonCompileJob::Priority |
| TPimplPtr<UE::DerivedData::FRequestOwner> FShaderCommonCompileJob::RequestOwner |
| double FShaderCommonCompileJob::TimeAddedToPendingQueue = 0.0 |
In-engine timestamp of being added to a pending queue. Not set for jobs that are satisfied from the jobs cache
| double FShaderCommonCompileJob::TimeAssignedToExecution = 0.0 |
In-engine timestamp of being assigned to a worker. Not set for jobs that are satisfied from the jobs cache
| double FShaderCommonCompileJob::TimeExecutionCompleted = 0.0 |
In-engine timestamp of job being completed. Encompasses the compile time. Not set for jobs that are satisfied from the jobs cache
| double FShaderCommonCompileJob::TimeTaskSubmitJobs = 0.0 |
Time spent in tasks generated in FShaderJobCache::SubmitJobs, plus stall time on mutex locks in those tasks
| double FShaderCommonCompileJob::TimeTaskSubmitJobsStall = 0.0 |
| EShaderCompileJobType FShaderCommonCompileJob::Type |