Index: src/gpu/gl/GrGLContext.h |
diff --git a/src/gpu/gl/GrGLContext.h b/src/gpu/gl/GrGLContext.h |
index 6016f6859a35e5cbfd9213dd043d6b85813e7f2d..8207ac89b0092d0b7ed3d392bf31f3ef29f73f33 100644 |
--- a/src/gpu/gl/GrGLContext.h |
+++ b/src/gpu/gl/GrGLContext.h |
@@ -15,6 +15,9 @@ |
#include "GrGLUtil.h" |
struct GrContextOptions; |
+namespace SkSL { |
+ class Compiler; |
+} |
/** |
* Encapsulates information about an OpenGL context including the OpenGL |
@@ -39,6 +42,8 @@ public: |
const GrGLExtensions& extensions() const { return fInterface->fExtensions; } |
+ virtual ~GrGLContextInfo() {} |
+ |
protected: |
struct ConstructorArgs { |
const GrGLInterface* fInterface; |
@@ -64,7 +69,7 @@ protected: |
}; |
/** |
- * Extension of GrGLContextInfo that also provides access to GrGLInterface. |
+ * Extension of GrGLContextInfo that also provides access to GrGLInterface and SkSL::Compiler. |
*/ |
class GrGLContext : public GrGLContextInfo { |
public: |
@@ -76,8 +81,16 @@ public: |
const GrGLInterface* interface() const { return fInterface; } |
+ SkSL::Compiler* compiler() const; |
+ |
+ ~GrGLContext() override; |
+ |
private: |
- GrGLContext(const ConstructorArgs& args) : INHERITED(args) {} |
+ GrGLContext(const ConstructorArgs& args) |
+ : INHERITED(args) |
+ , fCompiler(nullptr) {} |
+ |
+ mutable SkSL::Compiler* fCompiler; |
typedef GrGLContextInfo INHERITED; |
}; |