summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/Compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Compiler.h')
-rw-r--r--src/3rdparty/angle/src/libANGLE/Compiler.h20
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