Navigation
API > API/Runtime > API/Runtime/RenderCore
Struct that gathers all readonly inputs needed for the compilation of a single shader.
| Name | FShaderCompilerInput |
| Type | struct |
| Header File | /Engine/Source/Runtime/RenderCore/Public/ShaderCompilerCore.h |
| Include Path | #include "ShaderCompilerCore.h" |
Syntax
struct FShaderCompilerInput
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bBindlessEnabled | bool | Internal only flag to signal that bindless is enabled. | ShaderCompilerCore.h | |
| bCompilingForShaderPipeline | bool | ShaderCompilerCore.h | ||
| bIncludeUsedOutputs | bool | ShaderCompilerCore.h | ||
| CompressionFormat | FName | ShaderCompilerCore.h | ||
| DebugDescription | FString | Description of the configuration used when compiling. | ShaderCompilerCore.h | |
| DebugExtension | FString | ShaderCompilerCore.h | ||
| DebugGroupName | FString | Materialname or "Global" "for debugging and better error messages | ShaderCompilerCore.h | |
| DebugInfoFlags | EShaderDebugInfoFlags | Indicates which additional debug outputs should be written for this compile job. | ShaderCompilerCore.h | |
| DumpDebugInfoPath | FString | Only used if enabled by r.DumpShaderDebugInfo (platform/groupname) e.g. "" | ShaderCompilerCore.h | |
| DumpDebugInfoRootPath | FString | Dump debug path (up to platform) e.g. "D:/Project/Saved/ShaderDebugInfo/PCD3D_SM5". | ShaderCompilerCore.h | |
| EntryPointName | FString | ShaderCompilerCore.h | ||
| Environment | FShaderCompilerEnvironment | Compilation Environment. | ShaderCompilerCore.h | |
| ExtraSettings | FExtraShaderCompilerSettings | Additional compilation settings that can be filled by FMaterial::SetupExtraCompilationSettings FMaterial::SetupExtraCompilationSettings is usually called by each (*)MaterialShaderType::BeginCompileShader() function | ShaderCompilerCore.h | |
| Hash | FShaderCompilerInputHash | Hash of this input (used as the key for the shader job cache) | ShaderCompilerCore.h | |
| OodleCompressor | FOodleDataCompression::ECompressor | Oodle-specific compression algorithm - used if CompressionFormat is set to NAME_Oodle. | ShaderCompilerCore.h | |
| OodleLevel | FOodleDataCompression::ECompressionLevel | Oodle-specific compression level - used if CompressionFormat is set to NAME_Oodle. | ShaderCompilerCore.h | |
| PreferredShaderCodeFormat | FName | Preferred output format for FShaderCode, e.g. when DXIL is preferred over DXBC while both would be supported. | ShaderCompilerCore.h | |
| RequiredSymbols | TArray< FString > | Array of symbols that should be maintained when deadstripping. | ShaderCompilerCore.h | |
| RootParametersStructure | const FShaderParametersMetadata * | The root of the shader parameter structures / uniform buffers bound to this shader to generate shader resource table from. | ShaderCompilerCore.h | |
| ShaderFormat | FName | ShaderCompilerCore.h | ||
| ShaderName | FString | ShaderCompilerCore.h | ||
| ShaderPlatformName | FName | ShaderCompilerCore.h | ||
| SharedEnvironment | TRefCountPtr< FSharedShaderCompilerEnvironment > | ShaderCompilerCore.h | ||
| SupportedHardwareMask | uint32 | ShaderCompilerCore.h | ||
| Target | FShaderTarget | ShaderCompilerCore.h | ||
| UsedOutputs | TArray< FString > | Shader pipeline information. | ShaderCompilerCore.h | |
| VirtualSourceFilePath | FString | ShaderCompilerCore.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void DeserializeSharedInputs
(
FArchive& Ar, |
ShaderCompilerCore.h | ||
bool DumpDebugInfoEnabled() |
ShaderCompilerCore.h | ||
void GatherSharedInputs
(
TArray< TRefCountPtr< FSharedShaderCompilerEnvironment > >& SharedEnvironments, |
ShaderCompilerCore.h | ||
FString GenerateDebugInfo() |
Common code to generate a debug string to associate with platform-specific shader symbol files and hashes Currently uses DebugGroupName, but can be updated to contain other important information as needed | ShaderCompilerCore.h | |
FString GenerateShaderName() |
Generate human readable name for debugging | ShaderCompilerCore.h | |
FString GetOrCreateShaderDebugInfoPath() |
Returns the shader debug info path for this shader compiler input and create the directory if it doesn't exist yet. | ShaderCompilerCore.h | |
FString GetSourceFilename() |
ShaderCompilerCore.h | ||
FStringView GetSourceFilenameView() |
ShaderCompilerCore.h | ||
bool IsBindlessEnabled() |
ShaderCompilerCore.h | ||
bool IsRayTracingShader() |
ShaderCompilerCore.h | ||
bool IsWorkGraphShader() |
ShaderCompilerCore.h | ||
bool NeedsOriginalShaderSource() |
ShaderCompilerCore.h | ||
void SerializeSharedInputs
(
FArchive& Ar, |
ShaderCompilerCore.h | ||
bool ShouldUseStableConstantBuffer() |
ShaderCompilerCore.h |