Navigation
API > API/Runtime > API/Runtime/Engine
Inheritance Hierarchy
- IAssetCompilingManager
- FShaderCompilingManager
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Public/ShaderCompiler.h |
| Include | #include "ShaderCompiler.h" |
Syntax
class FShaderCompilingManager : private IAssetCompilingManager
Remarks
Manager of asynchronous and parallel shader compilation. This class contains an interface to enqueue and retreive asynchronous shader jobs, and manages a FShaderCompileThreadRunnable.
Constructors
| Type | Name | Description | |
|---|---|---|---|
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | |||
| bool | AreWarningsSuppressed
(
const EShaderPlatform Platform |
||
| void | CancelCompilation
(
const TCHAR* MaterialName, |
Removes all outstanding compile jobs for the passed shader maps. | |
| FString | CreateShaderDebugInfoPath
(
const FShaderCompilerInput& ShaderCompilerInput |
||
| void | FinishCompilation
(
const TCHAR* MaterialName, |
Blocks until completion of the requested shader maps. | |
| void | GatherAnalytics
(
TArray< FAnalyticsEventAttribute >& Attributes |
||
| const FString & | |||
| EDumpShaderDebugInfo | |||
| EShaderDebugInfoFlags | |||
| int32 | Returns the (current) number of local workers. | ||
| int32 | |||
| int32 | |||
| int32 | Returns the number of outstanding compile jobs. | ||
| FName | Get the name of the asset type this compiler handles | ||
| bool | Return true if we have shader jobs in any state shader jobs are removed when they are applied to the gamethreadshadermap accessable from gamethread | ||
| bool | Returns whether normal throttling settings should be ignored because shader compilation is at the moment the only action blocking the critical path. | ||
| void | |||
| bool | IsCompiling () |
Returns whether async compiling is happening. | |
| bool | IsCompilingShaderMap
(
uint32 Id |
||
| bool | |||
| bool | IsShaderCompilerWorkerRunning
(
FProcHandle& WorkerHandle |
Returns true if the given shader compile worker is still running. | |
| void | OnMachineResourcesChanged
(
int32 NumberOfCores, |
Called by external systems that have updated the number of worker threads available. | |
| FShaderPipelineCompileJob * | PreparePipelineCompileJob
(
uint32 Id, |
||
| FShaderCompileJob * | PrepareShaderCompileJob
(
uint32 Id, |
Prepares a job of the given type for compilation. | |
| void | PrintStats
(
bool bForceLogIgnoringTimeInverval |
Prints stats related to shader compilation to the log. | |
| void | ProcessAsyncResults
(
bool bLimitExecutionTime, |
Version of ProcessAsyncResults that specifies use of ProcessGameThreadTargetTime for the timeslice. | |
| void | ProcessAsyncResults
(
float TimeSlice, |
Processes completed asynchronous shader maps, and assigns them to relevant materials. | |
| void | ProcessFinishedJob
(
FShaderCommonCompileJob* FinishedJob |
This is an entry point for all jobs that have finished the compilation. | |
| void | SetExternalJobs
(
int32 NumJobs |
||
| bool | Returns whether to display a notification that shader compiling is happening in the background. | ||
| bool | ShouldRecompileToDumpShaderDebugInfo
(
const FShaderCompileJob& Job |
||
| bool | ShouldRecompileToDumpShaderDebugInfo
(
const FShaderCompilerInput& Input, |
||
| void | SkipShaderCompilation
(
bool toggle |
||
| void | SubmitJobs
(
TArray< FShaderCommonCompileJobPtr >& NewJobs, |
Adds shader jobs to be asynchronously compiled. | |
| void | SuppressWarnings
(
const EShaderPlatform Platform |
Overridden from IAssetCompilingManager
| Type | Name | Description | |
|---|---|---|---|
| void | Blocks until completion of all async shader compiling, and assigns shader maps to relevant materials. | ||
| void | Shutdown () |
Shutdown the shader compiler manager, this will shutdown immediately and not process any more shader compile requests. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EDumpShaderDebugInfo |