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:
Name | Type | Default |
---|---|---|
permutation | Permutation & | “ |
arguments | const std::vector<std::string> & | “ |
writeMutex | std::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:
Name | Type | Default |
---|---|---|
permutation | Permutation & | “ |
arguments | const std::vector<std::string> & | “ |
writeMutex | std::mutex & | “ |
Returns: bool
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h
(line 208, column 10)
ExtractDXCReflectionData
bool ExtractDXCReflectionData(Permutation &permutation)
Parameters:
Name | Type | Default |
---|---|---|
permutation | Permutation & | “ |
Returns: bool
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h
(line 212, column 10)
ExtractFXCReflectionData
bool ExtractFXCReflectionData(Permutation &permutation)
Parameters:
Name | Type | Default |
---|---|---|
permutation | Permutation & | “ |
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)