diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Compiler.h')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/Compiler.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Compiler.h b/src/3rdparty/angle/src/libANGLE/Compiler.h index 8634e39a45..b7f7e9f31b 100644 --- a/src/3rdparty/angle/src/libANGLE/Compiler.h +++ b/src/3rdparty/angle/src/libANGLE/Compiler.h @@ -10,38 +10,40 @@ #ifndef LIBANGLE_COMPILER_H_ #define LIBANGLE_COMPILER_H_ -#include "libANGLE/Error.h" #include "GLSLANG/ShaderLang.h" +#include "libANGLE/Error.h" +#include "libANGLE/RefCountObject.h" namespace rx { class CompilerImpl; -class ImplFactory; +class GLImplFactory; } namespace gl { -struct Data; +class ContextState; -class Compiler final : angle::NonCopyable +class Compiler final : public RefCountObjectNoID { public: - Compiler(rx::ImplFactory *implFactory, const Data &data); - ~Compiler(); - - Error release(); + Compiler(rx::GLImplFactory *implFactory, const ContextState &data); ShHandle getCompilerHandle(GLenum type); ShShaderOutput getShaderOutputType() const { return mOutputType; } + const std::string &getBuiltinResourcesString(GLenum type); private: - rx::CompilerImpl *mImplementation; + ~Compiler() override; + std::unique_ptr<rx::CompilerImpl> mImplementation; ShShaderSpec mSpec; ShShaderOutput mOutputType; ShBuiltInResources mResources; ShHandle mFragmentCompiler; ShHandle mVertexCompiler; + ShHandle mComputeCompiler; + ShHandle mGeometryCompiler; }; } // namespace gl |