Navigation
API > API/Runtime > API/Runtime/RenderCore
References
| Module | RenderCore |
| Header | /Engine/Source/Runtime/RenderCore/Public/ShaderParameterParser.h |
| Include | #include "ShaderParameterParser.h" |
Syntax
class FShaderParameterParser
Remarks
Validates and moves all the shader loose data parameter defined in the root scope of the shader into the root uniform buffer.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bBindlessResources | ||
| bool | bBindlessSamplers | ||
| bool | bMovedLoosedParametersToRootConstantBuffer | Indicates that parameters were actually moved to the root constant buffer. | |
| bool | bNeedToMoveToRootConstantBuffer | Indicates that parameters should be moved to the root cosntant buffer. | |
| const TCHAR * | ConstantBufferType | ||
| TConstArrayView< const TCHAR * > | ExtraSRVTypes | ||
| TConstArrayView< const TCHAR * > | ExtraUAVTypes | ||
| FString | OriginalParsedShader | ||
| TMap< FString, FParsedShaderParameter > | ParsedParameters |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FShaderParameterParser
(
const TCHAR* InConstantBufferType |
Use FShaderParameterParser constructor which accepts FShaderCompilerFlags | ||
FShaderParameterParser
(
const TCHAR* InConstantBufferType, |
Use FShaderParameterParser constructor which accepts FShaderCompilerFlags | ||
FShaderParameterParser
(
FShaderCompilerFlags CompilerFlags, |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | ApplyBindlessModifications
(
FString& PreprocessedShaderSource |
Converts parsed parameters into their bindless forms. | |
| void | ExtractFileAndLine
(
int32 PragamLineoffset, |
||
| const FParsedShaderParameter & | FindParameterInfos
(
const FString& ParameterName |
Gets parsing information from a parameter binding name. | |
| FString | GenerateBindlessParameterDeclaration
(
const FParsedShaderParameter& ParsedParameter |
Generates shader source code to declare a bindless resource or sampler (for automatic bindless conversion). | |
| void | GetParameterFileAndLine
(
const FParsedShaderParameter& ParsedParameter, |
Gets file and line of the parameter in the shader source code. | |
| bool | MoveShaderParametersToRootConstantBuffer
(
const FShaderParametersMetadata* RootParametersStructure, |
Moves parsed parameters into the root constant buffer. | |
| bool | ParseAndModify
(
const FShaderCompilerInput& CompilerInput, |
||
| EShaderParameterType | ParseAndRemoveBindlessParameterPrefix
(
FString& InName |
||
| EShaderParameterType | ParseAndRemoveBindlessParameterPrefix
(
FStringView& InName |
||
| bool | ParseParameters
(
const FShaderParametersMetadata* RootParametersStructure, |
Parses the preprocessed shader code | |
| EShaderParameterType | ParseParameterType
(
FStringView InType, |
||
| bool | RemoveBindlessParameterPrefix
(
FString& InName |
||
| void | RemoveMovingParametersFromSource
(
FString& PreprocessedShaderSource |
||
| void | ValidateShaderParameterType
(
const FShaderCompilerInput& CompilerInput, |
||
| void | ValidateShaderParameterType
(
const FShaderCompilerInput& CompilerInput, |
Validates the shader parameter in code is compatible with the shader parameter structure. | |
| void | ValidateShaderParameterTypes
(
const FShaderCompilerInput& CompilerInput, |
||
| void | ValidateShaderParameterTypes
(
const FShaderCompilerInput& CompilerInput, |
Validates shader parameter map is compatible with the shader parameter structure. |
Operators
| Type | Name | Description | |
|---|---|---|---|
| FShaderParameterParser & |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FParsedShaderParameter |
Constants
| Name | Description |
|---|---|
| kBindlessResourcePrefix | |
| kBindlessSamplerPrefix |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
FShaderParameterParser
(
const TCHAR* InConstantBufferType, |
Use FShaderParameterParser constructor which accepts FShaderCompilerFlags | ||
FShaderParameterParser
(
const TCHAR* InConstantBufferType |
Use FShaderParameterParser constructor which accepts FShaderCompilerFlags | ||
| bool | ParseAndModify
(
const FShaderCompilerInput& CompilerInput, |
Use ParseAndModify overload accepting array of FShaderCompilerError instead of passing FShaderCompilerOutput | |
| bool | ParseAndModify
(
const FShaderCompilerInput& CompilerInput, |
ParseAndModify doesn't need ConstantBufferType anymore |