Skip to content

HLSLCompiler

class HLSLCompiler : public ICompiler

The HLSLCompiler specialization of ICompiler interface. Handles everything necessary to compile and extract shader reflection data for HSLS and then exports the binary and reflection data for consumption by HLSL-specific backends.

Dependencies: ICompiler, Permutation

Inherits from: public ICompiler

Private Interface

Private Functions:

CompileDXC

bool CompileDXC(Permutation &permutation, const std::vector<std::string> &arguments, std::mutex &writeMutex)

Parameters:

NameTypeDefault
permutationPermutation &
argumentsconst std::vector<std::string> &
writeMutexstd::mutex &

Returns: bool

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 204, column 10)

CompileFXC

bool CompileFXC(Permutation &permutation, const std::vector<std::string> &arguments, std::mutex &writeMutex)

Parameters:

NameTypeDefault
permutationPermutation &
argumentsconst std::vector<std::string> &
writeMutexstd::mutex &

Returns: bool

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 208, column 10)

ExtractDXCReflectionData

bool ExtractDXCReflectionData(Permutation &permutation)

Parameters:

NameTypeDefault
permutationPermutation &

Returns: bool

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 212, column 10)

ExtractFXCReflectionData

bool ExtractFXCReflectionData(Permutation &permutation)

Parameters:

NameTypeDefault
permutationPermutation &

Returns: bool

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 213, column 10)

Private Members:

Backend m_backend

Backend m_backend

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 216, column 33)

std::string m_Source

std::string m_Source

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 217, column 33)

CComPtr<IDxcUtils> m_DxcUtils

CComPtr<IDxcUtils> m_DxcUtils

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 220, column 22)

CComPtr<IDxcCompiler3> m_DxcCompiler

CComPtr<IDxcCompiler3> m_DxcCompiler

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 221, column 18)

CComPtr<IDxcIncludeHandler> m_DxcDefaultIncludeHandler

CComPtr<IDxcIncludeHandler> m_DxcDefaultIncludeHandler

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 222, column 13)

DxcCreateInstanceProc m_DxcCreateInstanceFunc

DxcCreateInstanceProc m_DxcCreateInstanceFunc

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 223, column 33)

pD3DCompile m_FxcD3DCompile

pD3DCompile m_FxcD3DCompile

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 226, column 33)

pD3DGetBlobPart m_FxcD3DGetBlobPart

pD3DGetBlobPart m_FxcD3DGetBlobPart

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 227, column 33)

pD3DReflect m_FxcD3DReflect

pD3DReflect m_FxcD3DReflect

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 228, column 33)

HMODULE m_DllHandle

HMODULE m_DllHandle

Attributes: private

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 230, column 33)

Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 98, column 1)