HLSLCompiler
class HLSLCompiler : public ICompilerThe 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_backendAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 216, column 33)
std::string m_Source
std::string m_SourceAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 217, column 33)
CComPtr<IDxcUtils> m_DxcUtils
CComPtr<IDxcUtils> m_DxcUtilsAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 220, column 22)
CComPtr<IDxcCompiler3> m_DxcCompiler
CComPtr<IDxcCompiler3> m_DxcCompilerAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 221, column 18)
CComPtr<IDxcIncludeHandler> m_DxcDefaultIncludeHandler
CComPtr<IDxcIncludeHandler> m_DxcDefaultIncludeHandlerAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 222, column 13)
DxcCreateInstanceProc m_DxcCreateInstanceFunc
DxcCreateInstanceProc m_DxcCreateInstanceFuncAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 223, column 33)
pD3DCompile m_FxcD3DCompile
pD3DCompile m_FxcD3DCompileAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 226, column 33)
pD3DGetBlobPart m_FxcD3DGetBlobPart
pD3DGetBlobPart m_FxcD3DGetBlobPartAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 227, column 33)
pD3DReflect m_FxcD3DReflect
pD3DReflect m_FxcD3DReflectAttributes: private
Source: sdk/tools/ffx_shader_compiler/src/hlsl_compiler.h (line 228, column 33)
HMODULE m_DllHandle
HMODULE m_DllHandleAttributes: 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)