Navigation
Unreal Engine C++ API Reference > Developer
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, |