| Index: src/gpu/gl/GrGLInterface.cpp
|
| diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp
|
| index 825ad69029dbdec1fcec5d587795ff75ebbe2056..b81d9ceeb84b378366a3e119a04e6812496327e9 100644
|
| --- a/src/gpu/gl/GrGLInterface.cpp
|
| +++ b/src/gpu/gl/GrGLInterface.cpp
|
| @@ -39,23 +39,57 @@
|
| GrGLInterface* newInterface = GrGLInterface::NewClone(interface);
|
|
|
| newInterface->fExtensions.remove("GL_NV_path_rendering");
|
| +
|
| newInterface->fFunctions.fPathCommands = NULL;
|
| newInterface->fFunctions.fPathCoords = NULL;
|
| + newInterface->fFunctions.fPathSubCommands = NULL;
|
| + newInterface->fFunctions.fPathSubCoords = NULL;
|
| + newInterface->fFunctions.fPathString = NULL;
|
| + newInterface->fFunctions.fPathGlyphs = NULL;
|
| + newInterface->fFunctions.fPathGlyphRange = NULL;
|
| + newInterface->fFunctions.fWeightPaths = NULL;
|
| + newInterface->fFunctions.fCopyPath = NULL;
|
| + newInterface->fFunctions.fInterpolatePaths = NULL;
|
| + newInterface->fFunctions.fTransformPath = NULL;
|
| + newInterface->fFunctions.fPathParameteriv = NULL;
|
| newInterface->fFunctions.fPathParameteri = NULL;
|
| + newInterface->fFunctions.fPathParameterfv = NULL;
|
| newInterface->fFunctions.fPathParameterf = NULL;
|
| + newInterface->fFunctions.fPathDashArray = NULL;
|
| newInterface->fFunctions.fGenPaths = NULL;
|
| newInterface->fFunctions.fDeletePaths = NULL;
|
| + newInterface->fFunctions.fIsPath = NULL;
|
| newInterface->fFunctions.fPathStencilFunc = NULL;
|
| + newInterface->fFunctions.fPathStencilDepthOffset = NULL;
|
| newInterface->fFunctions.fStencilFillPath = NULL;
|
| newInterface->fFunctions.fStencilStrokePath = NULL;
|
| newInterface->fFunctions.fStencilFillPathInstanced = NULL;
|
| newInterface->fFunctions.fStencilStrokePathInstanced = NULL;
|
| + newInterface->fFunctions.fPathCoverDepthFunc = NULL;
|
| + newInterface->fFunctions.fPathColorGen = NULL;
|
| newInterface->fFunctions.fPathTexGen = NULL;
|
| + newInterface->fFunctions.fPathFogGen = NULL;
|
| newInterface->fFunctions.fCoverFillPath = NULL;
|
| newInterface->fFunctions.fCoverStrokePath = NULL;
|
| newInterface->fFunctions.fCoverFillPathInstanced = NULL;
|
| newInterface->fFunctions.fCoverStrokePathInstanced = NULL;
|
| - newInterface->fFunctions.fProgramPathFragmentInputGen = NULL;
|
| + newInterface->fFunctions.fGetPathParameteriv = NULL;
|
| + newInterface->fFunctions.fGetPathParameterfv = NULL;
|
| + newInterface->fFunctions.fGetPathCommands = NULL;
|
| + newInterface->fFunctions.fGetPathCoords = NULL;
|
| + newInterface->fFunctions.fGetPathDashArray = NULL;
|
| + newInterface->fFunctions.fGetPathMetrics = NULL;
|
| + newInterface->fFunctions.fGetPathMetricRange = NULL;
|
| + newInterface->fFunctions.fGetPathSpacing = NULL;
|
| + newInterface->fFunctions.fGetPathColorGeniv = NULL;
|
| + newInterface->fFunctions.fGetPathColorGenfv = NULL;
|
| + newInterface->fFunctions.fGetPathTexGeniv = NULL;
|
| + newInterface->fFunctions.fGetPathTexGenfv = NULL;
|
| + newInterface->fFunctions.fIsPointInFillPath = NULL;
|
| + newInterface->fFunctions.fIsPointInStrokePath = NULL;
|
| + newInterface->fFunctions.fGetPathLength = NULL;
|
| + newInterface->fFunctions.fPointAlongPath = NULL;
|
| +
|
| return newInterface;
|
| }
|
|
|
| @@ -258,6 +292,65 @@
|
| RETURN_FALSE_INTERFACE
|
| }
|
| }
|
| + if (fExtensions.has("GL_EXT_direct_state_access")) {
|
| + if (NULL == fFunctions.fMatrixLoadf ||
|
| + NULL == fFunctions.fMatrixLoadIdentity) {
|
| + RETURN_FALSE_INTERFACE
|
| + }
|
| + }
|
| + if (fExtensions.has("GL_NV_path_rendering")) {
|
| + if (NULL == fFunctions.fPathCommands ||
|
| + NULL == fFunctions.fPathCoords ||
|
| + NULL == fFunctions.fPathSubCommands ||
|
| + NULL == fFunctions.fPathSubCoords ||
|
| + NULL == fFunctions.fPathString ||
|
| + NULL == fFunctions.fPathGlyphs ||
|
| + NULL == fFunctions.fPathGlyphRange ||
|
| + NULL == fFunctions.fWeightPaths ||
|
| + NULL == fFunctions.fCopyPath ||
|
| + NULL == fFunctions.fInterpolatePaths ||
|
| + NULL == fFunctions.fTransformPath ||
|
| + NULL == fFunctions.fPathParameteriv ||
|
| + NULL == fFunctions.fPathParameteri ||
|
| + NULL == fFunctions.fPathParameterfv ||
|
| + NULL == fFunctions.fPathParameterf ||
|
| + NULL == fFunctions.fPathDashArray ||
|
| + NULL == fFunctions.fGenPaths ||
|
| + NULL == fFunctions.fDeletePaths ||
|
| + NULL == fFunctions.fIsPath ||
|
| + NULL == fFunctions.fPathStencilFunc ||
|
| + NULL == fFunctions.fPathStencilDepthOffset ||
|
| + NULL == fFunctions.fStencilFillPath ||
|
| + NULL == fFunctions.fStencilStrokePath ||
|
| + NULL == fFunctions.fStencilFillPathInstanced ||
|
| + NULL == fFunctions.fStencilStrokePathInstanced ||
|
| + NULL == fFunctions.fPathCoverDepthFunc ||
|
| + NULL == fFunctions.fPathColorGen ||
|
| + NULL == fFunctions.fPathTexGen ||
|
| + NULL == fFunctions.fPathFogGen ||
|
| + NULL == fFunctions.fCoverFillPath ||
|
| + NULL == fFunctions.fCoverStrokePath ||
|
| + NULL == fFunctions.fCoverFillPathInstanced ||
|
| + NULL == fFunctions.fCoverStrokePathInstanced ||
|
| + NULL == fFunctions.fGetPathParameteriv ||
|
| + NULL == fFunctions.fGetPathParameterfv ||
|
| + NULL == fFunctions.fGetPathCommands ||
|
| + NULL == fFunctions.fGetPathCoords ||
|
| + NULL == fFunctions.fGetPathDashArray ||
|
| + NULL == fFunctions.fGetPathMetrics ||
|
| + NULL == fFunctions.fGetPathMetricRange ||
|
| + NULL == fFunctions.fGetPathSpacing ||
|
| + NULL == fFunctions.fGetPathColorGeniv ||
|
| + NULL == fFunctions.fGetPathColorGenfv ||
|
| + NULL == fFunctions.fGetPathTexGeniv ||
|
| + NULL == fFunctions.fGetPathTexGenfv ||
|
| + NULL == fFunctions.fIsPointInFillPath ||
|
| + NULL == fFunctions.fIsPointInStrokePath ||
|
| + NULL == fFunctions.fGetPathLength ||
|
| + NULL == fFunctions.fPointAlongPath) {
|
| + RETURN_FALSE_INTERFACE
|
| + }
|
| + }
|
| }
|
|
|
| // optional function on desktop before 1.3
|
| @@ -433,43 +526,5 @@
|
| RETURN_FALSE_INTERFACE;
|
| }
|
| }
|
| - if (fExtensions.has("GL_EXT_direct_state_access")) {
|
| - if (NULL == fFunctions.fMatrixLoadf ||
|
| - NULL == fFunctions.fMatrixLoadIdentity) {
|
| - RETURN_FALSE_INTERFACE
|
| - }
|
| - }
|
| - if ((kGL_GrGLStandard == fStandard && glVer >= GR_GL_VER(4,3)) ||
|
| - fExtensions.has("GL_ARB_program_interface_query")) {
|
| - if (NULL == fFunctions.fGetProgramResourceLocation) {
|
| - RETURN_FALSE_INTERFACE
|
| - }
|
| - }
|
| - if (fExtensions.has("GL_NV_path_rendering")) {
|
| - if (NULL == fFunctions.fPathCommands ||
|
| - NULL == fFunctions.fPathCoords ||
|
| - NULL == fFunctions.fPathParameteri ||
|
| - NULL == fFunctions.fPathParameterf ||
|
| - NULL == fFunctions.fGenPaths ||
|
| - NULL == fFunctions.fDeletePaths ||
|
| - NULL == fFunctions.fPathStencilFunc ||
|
| - NULL == fFunctions.fStencilFillPath ||
|
| - NULL == fFunctions.fStencilStrokePath ||
|
| - NULL == fFunctions.fStencilFillPathInstanced ||
|
| - NULL == fFunctions.fStencilStrokePathInstanced ||
|
| - NULL == fFunctions.fCoverFillPath ||
|
| - NULL == fFunctions.fCoverStrokePath ||
|
| - NULL == fFunctions.fCoverFillPathInstanced ||
|
| - 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
|
| - }
|
| - }
|
| -
|
| return true;
|
| }
|
|
|