Go to the source code of this file.
|
| | DECLARE_LOG_CATEGORY_EXTERN (LogShaderCompilers, Log, All) |
| |
| bool | AreShaderErrorsFatal () |
| |
| bool | CreateShadersOnLoad () |
| |
| ENGINE_API bool | IsShaderJobCacheDDCEnabled () |
| |
| ENGINE_API bool | IsMaterialMapDDCEnabled () |
| |
| ENGINE_API void | GetShaderCompilerCurrentMemoryLimits (FShaderCompilerMemoryLimits &limits) |
| |
| ENGINE_API void | SetShaderCompilerTargetMemoryLimitInMiB (int32 NewLimit) |
| |
| ENGINE_API bool | ShouldCompileODSCOnlyShaders () |
| |
| void | GetOutdatedShaderTypes (TArray< const FShaderType * > &OutdatedShaderTypes, TArray< const FShaderPipelineType * > &OutdatedShaderPipelineTypes, TArray< const FVertexFactoryType * > &OutdatedFactoryTypes) |
| |
| bool | RecompileShaders (const TCHAR *Cmd, FOutputDevice &Ar) |
| |
| ENGINE_API bool | IsGlobalShaderMapComplete (const TCHAR *TypeNameSubstring=nullptr) |
| |
| ENGINE_API void | VerifyGlobalShaders (EShaderPlatform Platform, bool bLoadedFromCacheFile, const TArray< const FShaderType * > *OutdatedShaderTypes=nullptr, const TArray< const FShaderPipelineType * > *OutdatedShaderPipelineTypes=nullptr) |
| |
| ENGINE_API void | VerifyGlobalShaders (EShaderPlatform Platform, const ITargetPlatform *TargetPlatform, bool bLoadedFromCacheFile, const TArray< const FShaderType * > *OutdatedShaderTypes=nullptr, const TArray< const FShaderPipelineType * > *OutdatedShaderPipelineTypes=nullptr, const FShaderCompilerFlags &InExtraCompilerFlags={}) |
| |
| ENGINE_API void | PrecacheComputePipelineStatesForGlobalShaders (ERHIFeatureLevel::Type FeatureLevel, const ITargetPlatform *TargetPlatform) |
| |
| ENGINE_API void | RecompileGlobalShaders () |
| |
| ENGINE_API bool | RecompileChangedShadersForPlatform (const FString &PlatformName) |
| |
| ENGINE_API void | BeginRecompileGlobalShaders (const TArray< const FShaderType * > &OutdatedShaderTypes, const TArray< const FShaderPipelineType * > &OutdatedShaderPipelineTypes, EShaderPlatform ShaderPlatform, const ITargetPlatform *TargetPlatform=nullptr, const FShaderCompilerFlags &InExtraCompilerFlags={}) |
| |
| ENGINE_API void | FinishRecompileGlobalShaders () |
| |
| ENGINE_API void | LoadGlobalShadersForRemoteRecompile (FArchive &Ar, EShaderPlatform ShaderPlatform) |
| |
| ENGINE_API FString | SaveGlobalShaderFile (EShaderPlatform Platform, FString SavePath, class ITargetPlatform *TargetPlatform=nullptr) |
| |
| ENGINE_API const TCHAR * | ODSCCmdEnumToString (ODSCRecompileCommand Cmd) |
| |
| ENGINE_API void | CompileGlobalShaderMap (bool bRefreshShaderMap=false) |
| |
| ENGINE_API void | CompileGlobalShaderMap (ERHIFeatureLevel::Type InFeatureLevel, bool bRefreshShaderMap=false) |
| |
| ENGINE_API void | CompileGlobalShaderMap (EShaderPlatform Platform, bool bRefreshShaderMap=false) |
| |
| ENGINE_API void | CompileGlobalShaderMap (EShaderPlatform Platform, const ITargetPlatform *TargetPlatform, bool bRefreshShaderMap) |
| |
| ENGINE_API void | ShutdownGlobalShaderMap () |
| |
| ENGINE_API const FGuid & | GetGlobalShaderMapDDCGuid () |
| |
| ENGINE_API const FGuid & | GetMaterialShaderMapDDCGuid () |
| |
| ENGINE_API bool | ShouldDumpShaderDDCKeys () |
| |
| ENGINE_API void | DumpShaderDDCKeyToFile (const EShaderPlatform InPlatform, bool bWithEditor, const TCHAR *DebugGroupName, const FString &DDCKey) |
| |
| ENGINE_API void | ProcessCookOnTheFlyShaders (bool bReloadGlobalShaders, const TArray< uint8 > &MeshMaterialMaps, const TArray< FString > &MaterialsToLoad, const TArray< uint8 > &GlobalShaderMap) |
| |
◆ FShaderCompileJobCallback
Function signature to iterate over shader compile jobs (single and pipeline jobs).
◆ FShaderMapFinalizeResults
Results for a single compiled and finalized shader map.
◆ ODSCRecompileCommand
| Enumerator |
|---|
| None | |
| Changed | |
| Global | |
| Material | |
| SingleShader | |
| ResetMaterialCache | |
◆ AreShaderErrorsFatal()
| bool AreShaderErrorsFatal |
( |
| ) |
|
◆ BeginRecompileGlobalShaders()
Begins recompiling the specified global shader types, and flushes their bound shader states. FinishRecompileGlobalShaders must be called after this and before using the global shaders for anything.
◆ CompileGlobalShaderMap() [1/4]
◆ CompileGlobalShaderMap() [2/4]
◆ CompileGlobalShaderMap() [3/4]
◆ CompileGlobalShaderMap() [4/4]
◆ CreateShadersOnLoad()
| bool CreateShadersOnLoad |
( |
| ) |
|
◆ DECLARE_LOG_CATEGORY_EXTERN()
◆ DumpShaderDDCKeyToFile()
◆ FinishRecompileGlobalShaders()
Finishes recompiling global shaders. Must be called after BeginRecompileGlobalShaders.
◆ GetGlobalShaderMapDDCGuid()
◆ GetMaterialShaderMapDDCGuid()
◆ GetOutdatedShaderTypes()
◆ GetShaderCompilerCurrentMemoryLimits()
◆ IsGlobalShaderMapComplete()
Returns whether all global shader types containing the substring are complete and ready for rendering. if type name is null, check everything
◆ IsMaterialMapDDCEnabled()
◆ IsShaderJobCacheDDCEnabled()
◆ LoadGlobalShadersForRemoteRecompile()
Serializes a global shader map to an archive (used with recompiling shaders for a remote console)
◆ ODSCCmdEnumToString()
◆ PrecacheComputePipelineStatesForGlobalShaders()
Precreates compute PSOs for global shaders. Separate from Compile/VerifyGlobalShaders to avoid blocking loads.
◆ ProcessCookOnTheFlyShaders()
Handles serializing in MeshMaterialMaps or GlobalShaderMap from a CookOnTheFly command and applying them to the in-memory shadermaps.
- Parameters
-
| MeshMaterialMaps | Byte array that contains the serialized material shadermap from across the network. |
| MaterialsToLoad | The materials contained in the MeshMaterialMaps |
| GlobalShaderMap | Byte array that contains the serialized global shadermap from across the network. |
◆ RecompileChangedShadersForPlatform()
| ENGINE_API bool RecompileChangedShadersForPlatform |
( |
const FString & |
PlatformName | ) |
|
|
extern |
Recompiles global shaders and material shaders rebuilds global shaders and also clears the cooked platform data for all materials if there is a global shader change detected can be slow
◆ RecompileGlobalShaders()
Forces a recompile of the global shaders.
◆ RecompileShaders()
Implementation of the 'recompileshaders' console command. Recompiles shaders at runtime based on various criteria.
◆ SaveGlobalShaderFile()
Saves the global shader map as a file for the target platform.
- Returns
- the name of the file written
Saves the global shader map as a file for the target platform.
◆ SetShaderCompilerTargetMemoryLimitInMiB()
◆ ShouldCompileODSCOnlyShaders()
Returns true if we should compile shaders that are only compiled in on demand shader compilation modes and not stored in cooked shader maps. This can be useful for debug shaders.
◆ ShouldDumpShaderDDCKeys()
◆ ShutdownGlobalShaderMap()
◆ VerifyGlobalShaders() [1/2]
Makes sure all global shaders are loaded and/or compiled for the passed in platform. Note: if compilation is needed, this only kicks off the compile.
- Parameters
-
| Platform | Platform to verify global shaders for |
| bLoadedFromCacheFile | Load the shaders from cache, will error out and not compile shaders if missing |
| OutdatedShaderTypes | Optional list of shader types, will trigger compilation job for shader types found in this list even if the map already has the shader. |
| OutdatedShaderPipelineTypes | Optional list of shader pipeline types, will trigger compilation job for shader pipeline types found in this list even if the map already has the pipeline. |
◆ VerifyGlobalShaders() [2/2]
Makes sure all global shaders are loaded and/or compiled for the passed in platform. Note: if compilation is needed, this only kicks off the compile.
- Parameters
-
| Platform | Platform to verify global shaders for |
◆ GShaderCompilerStats
The global shader compiling stats
◆ GShaderCompilingManager
The global shader compiling thread manager.