Navigation
Classes
| Type | Name | Description | |
|---|---|---|---|
| FBaseShaderFormat | |||
| FDebugShaderDataOptions | |||
| FDiagnosticMessage | |||
| FDiagnostics | |||
| FDllHandle | |||
| FDxcModuleWrapper | |||
| FHlslccHeader | |||
| FHlslccHeaderWriter | |||
| FHlslShaderModel | Shader model version for HLSL input language. | ||
| FMinifiedShader | |||
| FShaderConductorContext | Wrapper class to handle interface between UE and ShaderConductor. | ||
| FShaderConductorIdentifierTable | Container for all special case SPIR-V identifiers generated by ShaderConductor. | ||
| FShaderConductorModuleWrapper | |||
| FShaderConductorOptions | Wrapper structure to pass options descriptor to ShaderConductor. | ||
| FShaderConductorTarget | Shader conductor output target descriptor. | ||
| FSpirv | Base structure for SPIR-V modules in the shader backends. | ||
| FSpirvReflectBindings | Container structure for all SPIR-V reflection resources and in/out attributes. | ||
| TSpirvForwardIterator | Template forward iterator for SPIR-V instructions. |
Constants
| Name | Description |
|---|---|
| UE::ShaderCompilerCommon::kBindlessResourcePrefix | |
| UE::ShaderCompilerCommon::kBindlessSamplerPrefix | |
| UE::ShaderCompilerCommon::kUniformBufferConstantBufferPrefix |
Typedefs
| Name | Description |
|---|---|
| FSpirvConstIterator | |
| FSpirvIterator |
Enums
| Type | Name | Description | |
|---|---|---|---|
| CrossCompiler::EShaderConductorIR | Intermediate representation languages for ShaderConductor disassembly output. | ||
| CrossCompiler::EShaderConductorLanguage | Target high level languages for ShaderConductor output. | ||
| EShaderConductorTarget | |||
| UE::ShaderMinifier::EMinifyShaderFlags |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddNoteToDisplayShaderParameterStructureOnCppSide
(
const FShaderParametersMetadata* ParametersStructure, |
Adds a note to CompilerOutput.Error about where the shader parameter structure is on C++ side. | |
| void | AddUnboundShaderParameterError
(
const FShaderCompilerInput& CompilerInput, |
Adds an error to CompilerOutput.Error about a shader parameters that could not be bound. | |
| PRAGMA_DISABLE_DEPRECATION_WARNINGSbool | BuildResourceTableMapping
(
const TMap< FString, FResourceTableEntry >& ResourceTableMap, |
No longer supported; use version of function that accepts a FShaderResourceTableMap instead | |
| bool | BuildResourceTableMapping
(
const FShaderResourceTableMap& ResourceTableMap, |
This function looks for resources specified in ResourceTableMap in the parameter map, adds them to the resource table, and removes them from the parameter map. | |
| void | BuildResourceTableTokenStream
(
const TArray< uint32 >& InResourceMap, |
Builds a token stream out of the resource map. | |
| void | CompileOfflineMali
(
const FShaderCompilerInput& Input, |
Calls 'Mali Offline Compiler' to compile the glsl source code and extract the generated instruction count | |
| bool | ConvertFromFP32ToFP16
(
FString& InOutSourceCode, |
||
| bool | CrossCompiler::Match
(
const TCHAR*& Str, |
||
| bool | CrossCompiler::Match
(
const ANSICHAR*& Str, |
||
| bool | CrossCompiler::Match
(
const TCHAR*& Str, |
||
| bool | CrossCompiler::Match
(
const ANSICHAR*& Str, |
||
| bool | CrossCompiler::ParseIdentifier
(
const ANSICHAR*& Str, |
||
| bool | CrossCompiler::ParseIdentifier
(
const TCHAR*& Str, |
||
| bool | CrossCompiler::ParseIntegerNumber
(
const ANSICHAR*& Str, |
||
| bool | CrossCompiler::ParseIntegerNumber
(
const TCHAR*& Str, |
||
| bool | CrossCompiler::ParseSignedNumber
(
const TCHAR*& Str, |
||
| bool | CrossCompiler::ParseSignedNumber
(
const ANSICHAR*& Str, |
||
| bool | CrossCompiler::ParseString
(
const TCHAR*& Str, |
||
| bool | CrossCompiler::ParseString
(
const ANSICHAR*& Str, |
||
| void | CullGlobalUniformBuffers
(
const TMap< FString, FUniformBufferEntry >& UniformBufferMap, |
Culls global uniform buffer entries from the parameter map. | |
| void | DumpDebugBlobDetail
(
IDxcBlob* Blob, |
||
| void | DumpDebugShaderBinary
(
const FShaderCompilerInput& Input, |
||
| void | DumpDebugShaderBinary
(
const FShaderCompilerInput& Input, |
||
| void | DumpDebugShaderDisassembledDxil
(
const FShaderCompilerInput& Input, |
||
| void | DumpDebugShaderDisassembledSpirv
(
const FShaderCompilerInput& Input, |
||
| void | DumpDebugShaderText
(
const FShaderCompilerInput& Input, |
||
| void | DumpDebugShaderText
(
const FShaderCompilerInput& Input, |
||
| void | DumpDebugShaderText
(
const FShaderCompilerInput& Input, |
||
| void | FindOffsetToSpirvEntryPoint
(
const FSpirv& Spirv, |
Returns word offset to the entry point (OpEntryPoint) and name of the entry point (OpName). | |
| int16 | GetNumUniformBuffersUsed
(
const FShaderCompilerResourceTable& InSRT |
Finds the number of used uniform buffers in a resource map. | |
| void | HandleReflectedGlobalConstantBufferMember
(
const FString& MemberName, |
||
| void | HandleReflectedRootConstantBuffer
(
int32 ConstantBufferSize, |
||
| void | HandleReflectedRootConstantBufferMember
(
const FShaderCompilerInput& Input, |
||
| void | HandleReflectedShaderResource
(
const FString& ResourceName, |
||
| void | HandleReflectedShaderResource
(
const FString& ResourceName, |
||
| void | HandleReflectedShaderResource
(
const FString& ResourceName, |
||
| void | HandleReflectedShaderSampler
(
const FString& SamplerName, |
||
| void | HandleReflectedShaderSampler
(
const FString& SamplerName, |
||
| void | HandleReflectedShaderSampler
(
const FString& SamplerName, |
||
| void | HandleReflectedShaderUAV
(
const FString& UAVName, |
||
| void | HandleReflectedShaderUAV
(
const FString& UAVName, |
||
| void | HandleReflectedShaderUAV
(
const FString& UAVName, |
||
| void | HandleReflectedUniformBuffer
(
const FString& UniformBufferName, |
||
| void | HandleReflectedUniformBuffer
(
const FString& UniformBufferName, |
||
| void | HandleReflectedUniformBuffer
(
const FString& UniformBufferName, |
||
| void | HandleReflectedUniformBufferConstantBufferMember
(
int32 UniformBufferSlot, |
||
| const ANSICHAR * | PatchSpirvEntryPointWithCRC
(
FSpirv& Spirv, |
Renames the fixed-size entry point name (which must be "main_00000000_00000000") to the formatted name including a CRC over the module. | |
| void | RemoveUniformBuffersFromSource
(
const FShaderCompilerEnvironment& Environment, |
The cross compiler doesn't yet support struct initializers needed to construct static structs for uniform buffers Replace all uniform buffer struct member references (View.WorldToClip) with a flattened name that removes the struct dependency (View_WorldToClip) | |
| bool | |||
| bool | |||
| void | TransformStringIntoCharacterArray
(
FString& PreprocessedShaderSource |
Processes TEXT macros. | |
| EShaderParameterType | UE::ShaderCompilerCommon::ParseAndRemoveBindlessParameterPrefix
(
FStringView& InName |
Deprecated; use FShaderParameterParser::ParseAndRemoveBindlessParameterPrefix instead | |
| EShaderParameterType | Deprecated; use FShaderParameterParser::ParseAndRemoveBindlessParameterPrexix instead | ||
| EShaderParameterType | UE::ShaderCompilerCommon::ParseParameterType
(
FStringView InType, |
Deprecated; use FShaderParameterParser::ParseParameterType instead | |
| void | UE::ShaderCompilerCommon::ParseRayTracingEntryPoint
(
const FString& Input, |
Parses ray tracing shader entry point specification string in one of the following formats: 1) Verbatim single entry point name, e.g. "MainRGS" 2) Complex entry point for ray tracing hit group shaders: a) "closesthit=MainCHS" b) "closesthit=MainCHS anyhit=MainAHS" c) "closesthit=MainCHS anyhit=MainAHS intersection=MainIS" d) "closesthit=MainCHS intersection=MainIS" NOTE: closesthit attribute must always be provided for complex hit group entry points | |
| bool | Deprecated; use FShaderParameterParser::RemoveBindlessParameterPrefix instead | ||
| FStringView | UE::ShaderCompilerCommon::RemoveConstantBufferPrefix
(
FStringView InName |
||
| FString | UE::ShaderCompilerCommon::RemoveConstantBufferPrefix
(
const FString& InName |
||
| bool | UE::ShaderCompilerCommon::RemoveDeadCode
(
FString& InOutPreprocessedShaderSource, |
Rewrites a fully preprocessed shader source code, removing any functions or structs that are not reachable from a given entry point or list of symbols. | |
| bool | UE::ShaderCompilerCommon::RemoveDeadCode
(
FString& InOutPreprocessedShaderSource, |
Rewrites a fully preprocessed shader source code, removing any functions or structs that are not reachable from a given entry point or list of symbols. | |
| bool | Deprecated; use FShaderCompilerInput::ShouldUseStableContantBuffer directly | ||
| bool | UE::ShaderCompilerCommon::ValidatePackedResourceCounts
(
FShaderCompilerOutput& Output, |
||
| constexpr bool | |||
| constexpr EMinifyShaderFlags | |||
| EMinifyShaderFlags & | |||
| constexpr EMinifyShaderFlags | |||
| EMinifyShaderFlags & | |||
| constexpr EMinifyShaderFlags | |||
| EMinifyShaderFlags & | |||
| constexpr EMinifyShaderFlags | |||
| void | UpdateStructuredBufferStride
(
const FShaderCompilerInput& Input, |
||
| void | WriteShaderConductorCommandLine
(
const FShaderCompilerInput& Input, |