Go to the documentation of this file.
43 struct ID3D12ShaderReflection;
74 const wchar_t**
pArgs =
nullptr;
84 const char* ExtraDefinitions,
85 IDxcBlob** ppByteCodeBlob,
86 std::vector<uint32_t>* pByteCode,
87 IDataBlob** ppCompilerOutput) noexcept(
false) = 0;
105 IDxcBlob* pSrcBytecode,
106 IDxcBlob** ppDstByteCode) = 0;
110 ID3D12ShaderReflection** ppShaderReflection) = 0;
virtual ShaderVersion GetMaxShaderModel()=0
virtual bool Compile(const CompileAttribs &Attribs)=0
const char * Source
Definition: DXCompiler.hpp:68
Base interface for a file stream.
Definition: DataBlob.h:52
Shader version.
Definition: Shader.h:177
Uint32 SourceLength
Definition: DXCompiler.hpp:69
Definition: ResourceBindingMap.hpp:41
ResourceBinding::TMap TResourceBindingMap
Definition: DXCompiler.hpp:91
Definition: DXCompiler.hpp:66
virtual void GetD3D12ShaderReflection(IDxcBlob *pShaderBytecode, ID3D12ShaderReflection **ppShaderReflection)=0
Attempts to extract shader reflection from the bytecode using DXC.
const wchar_t ** pArgs
Definition: DXCompiler.hpp:74
ResourceBinding::BindInfo BindInfo
Definition: DXBCUtils.hpp:40
Shader creation attributes.
Definition: Shader.h:241
std::unique_ptr< IDXCompiler > CreateDXCompiler(DXCompilerTarget Target, Uint32 APIVersion, const char *pLibraryName)
Definition: DXCompiler.cpp:283
Uint8 MinorVersion
Definition: DXBCUtils.cpp:68
const wchar_t * EntryPoint
Definition: DXCompiler.hpp:70
Uint32 DefinesCount
Definition: DXCompiler.hpp:73
virtual bool RemapResourceBindings(const TResourceBindingMap &ResourceMap, IDxcBlob *pSrcBytecode, IDxcBlob **ppDstByteCode)=0
Remaps resource bindings (shader registers and spaces) in the source byte code using the resource bin...
std::unordered_map< HashMapStringKey, BindInfo, HashMapStringKey::Hasher > TMap
A mapping from the resource name to the binding (shader register, space, array size).
Definition: ResourceBindingMap.hpp:67
DXC compiler interface.
Definition: DXCompiler.hpp:55
const DxcDefine * pDefines
Definition: DXCompiler.hpp:72
IDxcBlob ** ppBlobOut
Definition: DXCompiler.hpp:77
const wchar_t * Profile
Definition: DXCompiler.hpp:71
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
virtual ~IDXCompiler()
Definition: DXCompiler.hpp:58
IShaderSourceInputStreamFactory * pShaderSourceStreamFactory
Definition: DXCompiler.hpp:76
virtual bool IsLoaded()=0
Uint32 ArgsCount
Definition: DXCompiler.hpp:75
Uint8 MajorVersion
Definition: DXBCUtils.cpp:69
bool IsDXILBytecode(const void *pBytecode, size_t Size)
Definition: DXCompiler.cpp:1762
DXCompilerTarget
Definition: DXCompiler.hpp:48
virtual void GetVersion(Uint32 &MajorVersion, Uint32 &MinorVersion) const =0
IDxcBlob ** ppCompilerOutput
Definition: DXCompiler.hpp:78
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37