Index: src/gpu/gl/GrGLPathRendering.h |
diff --git a/src/gpu/gl/GrGLPathRendering.h b/src/gpu/gl/GrGLPathRendering.h |
index 86cf1b1698ac8aed0e6f3d18d119ffb8a6588ce6..5996e906bd5088c2adfdb83a1cff5092372dd51a 100644 |
--- a/src/gpu/gl/GrGLPathRendering.h |
+++ b/src/gpu/gl/GrGLPathRendering.h |
@@ -46,6 +46,10 @@ public: |
*/ |
void abandonGpuResources(); |
+ bool shouldBindFragmentInputs() const { |
+ return fCaps.bindFragmentInputSupport; |
+ } |
+ |
// Functions for "separable shader" texturing support. |
void setProgramPathFragmentInputTransform(GrGLuint program, GrGLint location, |
GrGLenum genMode, GrGLint components, |
@@ -65,6 +69,13 @@ protected: |
void onDrawPaths(const DrawPathArgs&, const GrPathRange*, const void* indices, PathIndexType, |
const float transformValues[], PathTransformType, int count) override; |
private: |
+ /** |
+ * Mark certain functionality as not supported. |
+ */ |
+ struct Caps { |
+ bool bindFragmentInputSupport : 1; |
+ }; |
+ |
void flushPathStencilSettings(const GrStencilSettings&); |
struct MatrixState { |
@@ -103,6 +114,7 @@ private: |
SkAutoTDelete<GrGLNameAllocator> fPathNameAllocator; |
MatrixState fHWProjectionMatrixState; |
GrStencilSettings fHWPathStencilSettings; |
+ Caps fCaps; |
}; |
#endif |