diff options
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/renderer/d3d/HLSLCompiler.h')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/renderer/d3d/HLSLCompiler.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/renderer/d3d/HLSLCompiler.h b/src/3rdparty/angle/src/libGLESv2/renderer/d3d/HLSLCompiler.h new file mode 100644 index 0000000000..0ce9e44be5 --- /dev/null +++ b/src/3rdparty/angle/src/libGLESv2/renderer/d3d/HLSLCompiler.h @@ -0,0 +1,38 @@ +#ifndef LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_ +#define LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_ + +#include "common/angleutils.h" + +namespace gl +{ +class InfoLog; +} + +namespace rx +{ + +typedef void* ShaderBlob; +typedef void(*CompileFuncPtr)(); + +class HLSLCompiler +{ + public: + HLSLCompiler(); + ~HLSLCompiler(); + + bool initialize(); + void release(); + + ShaderBlob *compileToBinary(gl::InfoLog &infoLog, const char *hlsl, const char *profile, + const UINT optimizationFlags[], const char *flagNames[], int attempts) const; + + private: + DISALLOW_COPY_AND_ASSIGN(HLSLCompiler); + + HMODULE mD3DCompilerModule; + CompileFuncPtr mD3DCompileFunc; +}; + +} + +#endif // LIBGLESV2_RENDERER_HLSL_D3DCOMPILER_H_ |