FShaderCompilingManager

Manager of asynchronous and parallel shader compilation.

Windows
MacOS
Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/ShaderCompiler.h

Include

#include "ShaderCompiler.h"

Syntax

class FShaderCompilingManager

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

Name Description

Public function

FShaderCompilingManager()

Functions

Name Description

Public function

void

 

AddJobs

(
    TArray< TSharedRef< FShaderCommonCo...,
    bool bOptimizeForLowLatency,
    bool bRecreateComponentRenderStateO...,
    const FString MaterialBasePath,
    FString PermutationString,
    bool bSkipResultProcessing
)

Adds shader jobs to be asynchronously compiled.

Public function Const

bool

 

AllowAsynchronousShaderCompiling()

Public function Const

bool

 

AreWarningsSuppressed

(
    const EShaderPlatform Platform
)

Public function

void

 

CancelCompilation

(
    const TCHAR* MaterialName,
    const TArray< int32 >& ShaderMapId...
)

Removes all outstanding compile jobs for the passed shader maps.

Public function

void

 

FinishAllCompilation()

Blocks until completion of all async shader compiling, and assigns shader maps to relevant materials.

Public function

void

 

FinishCompilation

(
    const TCHAR* MaterialName,
    const TArray< int32 >& ShaderMapId...
)

Blocks until completion of the requested shader maps.

Public function Const

const FStrin...

 

GetAbsoluteShaderDebugInfoDirectory()

Public function Const

bool

 

GetDumpShaderDebugInfo()

Public function Const

int32

 

GetNumRemainingJobs()

Returns the number of outstanding compile jobs.

Public function Const

bool

 

HasShaderJobs()

Return true if we have shader jobs in any state shader jobs are removed when they are applied to the gamethreadshadermap accessable from gamethread

Public function Const

bool

 

IsCompiling()

Returns whether async compiling is happening.

Public function Static

bool

 

IsShaderCompilerWorkerRunning

(
    FProcHandle& WorkerHandle
)

Returns true if the given shader compile worker is still running.

Public function

void

 

ProcessAsyncResults

(
    bool bLimitExecutionTime,
    bool bBlockOnGlobalShaderCompletion
)

Processes completed asynchronous shader maps, and assigns them to relevant materials.

Public function

void

 

SetExternalJobs

(
    int32 NumJobs
)

Public function Const

bool

 

ShouldDisplayCompilingNotification()

Returns whether to display a notification that shader compiling is happening in the background.

Public function

void

 

Shutdown()

Shutdown the shader compiler manager, this will shutdown immediately and not process any more shader compile requests.

Public function

void

 

SuppressWarnings

(
    const EShaderPlatform Platform
)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss