Index: src/gpu/gl/GrGLInterface.cpp |
diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp |
index e9ba32ed2484276ef23e01ee20225458d24dbacb..c192611f5099a26109bf8a82c6e52e4043cea848 100644 |
--- a/src/gpu/gl/GrGLInterface.cpp |
+++ b/src/gpu/gl/GrGLInterface.cpp |
@@ -56,6 +56,10 @@ const GrGLInterface* GrGLInterfaceRemoveNVPR(const GrGLInterface* interface) { |
newInterface->fFunctions.fCoverStrokePath = NULL; |
newInterface->fFunctions.fCoverFillPathInstanced = NULL; |
newInterface->fFunctions.fCoverStrokePathInstanced = NULL; |
+ newInterface->fFunctions.fStencilThenCoverFillPath = NULL; |
+ newInterface->fFunctions.fStencilThenCoverStrokePath = NULL; |
+ newInterface->fFunctions.fStencilThenCoverFillPathInstanced = NULL; |
+ newInterface->fFunctions.fStencilThenCoverStrokePathInstanced = NULL; |
newInterface->fFunctions.fProgramPathFragmentInputGen = NULL; |
return newInterface; |
} |
@@ -467,18 +471,23 @@ bool GrGLInterface::validate() const { |
NULL == fFunctions.fCoverFillPath || |
NULL == fFunctions.fCoverStrokePath || |
NULL == fFunctions.fCoverFillPathInstanced || |
- NULL == fFunctions.fCoverStrokePathInstanced || |
- NULL == fFunctions.fStencilThenCoverFillPath || |
- NULL == fFunctions.fStencilThenCoverStrokePath || |
- NULL == fFunctions.fStencilThenCoverFillPathInstanced || |
- NULL == fFunctions.fStencilThenCoverStrokePathInstanced) { |
+ NULL == fFunctions.fCoverStrokePathInstanced) { |
RETURN_FALSE_INTERFACE |
} |
- // Currently ProgramPathFragmentInputGen is not used on |
- // OpenGL, rather PathTexGen is. |
- if ((kGL_GrGLStandard == fStandard && NULL == fFunctions.fPathTexGen) || |
- (kGLES_GrGLStandard == fStandard && NULL == fFunctions.fProgramPathFragmentInputGen)) { |
- RETURN_FALSE_INTERFACE |
+ if (kGL_GrGLStandard == fStandard) { |
+ // Some methods only exist on desktop |
+ if (NULL == fFunctions.fPathTexGen) { |
+ RETURN_FALSE_INTERFACE |
+ } |
+ } else { |
+ // All additions through v1.3 exist on GLES |
+ if (NULL == fFunctions.fStencilThenCoverFillPath || |
+ NULL == fFunctions.fStencilThenCoverStrokePath || |
+ NULL == fFunctions.fStencilThenCoverFillPathInstanced || |
+ NULL == fFunctions.fStencilThenCoverStrokePathInstanced || |
+ NULL == fFunctions.fProgramPathFragmentInputGen) { |
+ RETURN_FALSE_INTERFACE |
+ } |
} |
} |