Navigation
API > API/Runtime > API/Runtime/RenderCore
Stores all of the common information used to compile a shader or pipeline.
| Name | FShaderCommonCompileJob |
| Type | class |
| Header File | /Engine/Source/Runtime/RenderCore/Public/ShaderCompilerJobTypes.h |
| Include Path | #include "ShaderCompilerJobTypes.h" |
Syntax
class FShaderCommonCompileJob
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FShaderCommonCompileJob
(
EShaderCompileJobType InType, |
ShaderCompilerJobTypes.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FShaderCommonCompileJob() |
ShaderCompilerJobTypes.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| JobIdCounter | FThreadSafeCounter | Value counter for job ids. | ShaderCompilerJobTypes.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bBypassCache | uint8 | Whether or not to bypass the job/ddc caches when executing this job | ShaderCompilerJobTypes.h | |
| bErrorsAreLikelyToBeCode | uint8 | ShaderCompilerJobTypes.h | ||
| bFinalized | uint8 | True if the results of the shader compile have been processed. | ShaderCompilerJobTypes.h | |
| bInputHashSet | uint8 | Whether we hashed the inputs | ShaderCompilerJobTypes.h | |
| bIsDefaultMaterial | uint8 | Whether or not we are a default material. | ShaderCompilerJobTypes.h | |
| bIsGlobalShader | uint8 | Whether or not we are a global shader. | ShaderCompilerJobTypes.h | |
| bReleased | uint8 | True if the results of the shader compile have been released from the FShaderCompilerManager. | ShaderCompilerJobTypes.h | |
| bSucceeded | uint8 | Output of the shader compile | ShaderCompilerJobTypes.h | |
| CurrentWorker | EShaderCompilerWorkerType | ShaderCompilerJobTypes.h | ||
| Hash | uint32 | ShaderCompilerJobTypes.h | ||
| Id | uint32 | Id of the shader map this shader belongs to. | ShaderCompilerJobTypes.h | |
| InputHash | FShaderCompilerInputHash | Hash of all the job inputs | ShaderCompilerJobTypes.h | |
| JobCacheRef | FShaderJobCacheRef | ShaderCompilerJobTypes.h | ||
| JobIndex | int32 | ShaderCompilerJobTypes.h | ||
| JobStatusPtr | TSharedPtr< FShaderCompileJobStatus > | ShaderCompilerJobTypes.h | ||
| NextLink | FShaderCommonCompileJob * | Linked list support not using TIntrusiveLinkedList because we want lock free insertion not supported by the core class | ShaderCompilerJobTypes.h | |
| NumRefs | FThreadSafeCounter | ShaderCompilerJobTypes.h | ||
| PendingPriority | EShaderCompileJobPriority | ShaderCompilerJobTypes.h | ||
| PendingShaderMap | FPendingShaderMapCompileResultsPtr | ShaderCompilerJobTypes.h | ||
| PrevLink | FShaderCommonCompileJob ** | ShaderCompilerJobTypes.h | ||
| Priority | EShaderCompileJobPriority | ShaderCompilerJobTypes.h | ||
| RequestOwner | TPimplPtr< UE::DerivedData::FRequestOwner > | ShaderCompilerJobTypes.h | ||
| TimeAddedToPendingQueue | double | In-engine timestamp of being added to a pending queue. | ShaderCompilerJobTypes.h | |
| TimeAssignedToExecution | double | In-engine timestamp of being assigned to a worker. | ShaderCompilerJobTypes.h | |
| TimeExecutionCompleted | double | In-engine timestamp of job being completed. | ShaderCompilerJobTypes.h | |
| TimeTaskSubmitJobs | double | Time spent in tasks generated in FShaderJobCache::SubmitJobs, plus stall time on mutex locks in those tasks | ShaderCompilerJobTypes.h | |
| TimeTaskSubmitJobsStall | double | ShaderCompilerJobTypes.h | ||
| Type | EShaderCompileJobType | ShaderCompilerJobTypes.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
uint32 AddRef() |
ShaderCompilerJobTypes.h | ||
void AppendDebugName
(
FStringBuilderBase& OutName |
ShaderCompilerJobTypes.h | ||
void AppendDiagnostics
(
FString& OutDiagnostics, |
Generates a diagnostics string for this compile job suitable for the output log. | ShaderCompilerJobTypes.h | |
bool Equals
(
const FShaderCommonCompileJob& Rhs |
ShaderCompilerJobTypes.h | ||
void ForEachSingleShaderJob
(
const TFunction< void(const FShaderCompileJob&SingleJob)>& Predicate |
Calls the specified predicate for each single compile job, i.e. FShaderCompileJob and each stage of FShaderPipelineCompileJob. | ShaderCompilerJobTypes.h | |
void ForEachSingleShaderJob
(
const TFunction< void(FShaderCompileJob&SingleJob)>& Predicate |
ShaderCompilerJobTypes.h | ||
virtual FShaderCompilerInputHash GetInputHash() |
Returns hash of all inputs for this job (needed for caching). | ShaderCompilerJobTypes.h | |
uint32 GetRefCount() |
ShaderCompilerJobTypes.h | ||
const FShaderPipelineCompileJob * GetShaderPipelineJob () |
ShaderCompilerJobTypes.h | ||
| ShaderCompilerJobTypes.h | |||
const FShaderCompileJob * GetSingleShaderJob () |
ShaderCompilerJobTypes.h | ||
| ShaderCompilerJobTypes.h | |||
void OnComplete
(
FShaderDebugDataContext& Ctx |
Executed for all jobs (including those read from cache) on completion. | ShaderCompilerJobTypes.h | |
void OnComplete () |
ShaderCompilerJobTypes.h | ||
uint32 Release() |
ShaderCompilerJobTypes.h | ||
virtual void SerializeOutput
(
FShaderCacheSerializeContext& Ctx |
Serializes (and deserializes) the output for caching purposes. | ShaderCompilerJobTypes.h | |
void UpdateInputHash() |
ShaderCompilerJobTypes.h | ||
void UpdateStatus
(
EShaderCompileJobStatus NewStatus |
ShaderCompilerJobTypes.h |
Protected
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static uint32 GetNextJobId() |
This returns a unique id for a shader compiler job | ShaderCompilerJobTypes.h |