1 #ifndef LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_
2 #define LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_
4 #include "libGLESv2/Error.h"
6 #include "common/angleutils.h"
7 #include "common/platform.h"
26 CompileConfig(UINT flags, const std::string &name);
38 // Attempt to compile a HLSL shader using the supplied configurations, may output a NULL compiled blob
39 // even if no GL errors are returned.
40 gl::Error compileToBinary(gl::InfoLog &infoLog, const std::string &hlsl, const std::string &profile,
41 const std::vector<CompileConfig> &configs, const D3D_SHADER_MACRO *overrideMacros,
42 ID3DBlob **outCompiledBlob, std::string *outDebugInfo) const;
44 std::string disassembleBinary(ID3DBlob* shaderBinary) const;
47 DISALLOW_COPY_AND_ASSIGN(HLSLCompiler);
49 HMODULE mD3DCompilerModule;
50 pD3DCompile mD3DCompileFunc;
51 pD3DDisassemble mD3DDisassembleFunc;
56 #endif // LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_