Skip to content

Permutation

struct Permutation

A structure defining a shader permutation representation. Each permutation compiled generates this structure for export.

Dependencies: IReflectionData, IShaderBinary

Public Interface

Public Members:

uint32_t key

uint32_t key = = 0

Shader permutation key identifier.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 118, column 41)

std::string hashDigest

std::string hashDigest

Shader permutation hash key.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 119, column 41)

std::string name

std::string name

Shader permutation name.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 120, column 41)

std::string headerFileName

std::string headerFileName

Shader permutation header file name.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 121, column 41)

std::vector<std::wstring> defines

std::vector<std::wstring> defines

Shader permutation defines.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 122, column 27)

std::shared_ptr<IShaderBinary> shaderBinary

std::shared_ptr<IShaderBinary> shaderBinary = = nullptr

Shader permutation compiled binary data.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 123, column 26)

std::shared_ptr<IReflectionData> reflectionData

std::shared_ptr<IReflectionData> reflectionData = = nullptr

Shader permutation IReflectionData data.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 124, column 24)

fs::path sourcePath

fs::path sourcePath

Shader source file path for this permutation.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 126, column 41)

std::unordered_set<std::string> dependencies

std::unordered_set<std::string> dependencies

List of shader dependencies for this permutation.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 127, column 28)

std::optional<uint32_t> identicalTo

std::optional<uint32_t> identicalTo = = &#123;&#125;

Key of other permutation that this one is identical to.

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 128, column 31)

Used By: HLSLCompiler, ShaderCompiler

Source: sdk/tools/ffx_shader_compiler/src/compiler.h (line 116, column 1)