| Index: src/gpu/gl/GrGLInterface.cpp
|
| diff --git a/src/gpu/gl/GrGLInterface.cpp b/src/gpu/gl/GrGLInterface.cpp
|
| index 0a0ff59408b255f1938b5305bf92f6115f2ae0da..f7b0a53c20d54cba4cc101f60be337d61e9a5b0a 100644
|
| --- a/src/gpu/gl/GrGLInterface.cpp
|
| +++ b/src/gpu/gl/GrGLInterface.cpp
|
| @@ -18,6 +18,64 @@ void GrGLDefaultInterfaceCallback(const GrGLInterface*) {}
|
| }
|
| #endif
|
|
|
| +const GrGLInterface* GrGLInterfaceRemoveNVPR(const GrGLInterface* interface) {
|
| + GrGLInterface* newInterface = GrGLInterface::NewClone(interface);
|
| +
|
| + newInterface->fExtensions.remove("GL_NV_path_rendering");
|
| +
|
| + newInterface->fPathCommands = NULL;
|
| + newInterface->fPathCoords = NULL;
|
| + newInterface->fPathSubCommands = NULL;
|
| + newInterface->fPathSubCoords = NULL;
|
| + newInterface->fPathString = NULL;
|
| + newInterface->fPathGlyphs = NULL;
|
| + newInterface->fPathGlyphRange = NULL;
|
| + newInterface->fWeightPaths = NULL;
|
| + newInterface->fCopyPath = NULL;
|
| + newInterface->fInterpolatePaths = NULL;
|
| + newInterface->fTransformPath = NULL;
|
| + newInterface->fPathParameteriv = NULL;
|
| + newInterface->fPathParameteri = NULL;
|
| + newInterface->fPathParameterfv = NULL;
|
| + newInterface->fPathParameterf = NULL;
|
| + newInterface->fPathDashArray = NULL;
|
| + newInterface->fGenPaths = NULL;
|
| + newInterface->fDeletePaths = NULL;
|
| + newInterface->fIsPath = NULL;
|
| + newInterface->fPathStencilFunc = NULL;
|
| + newInterface->fPathStencilDepthOffset = NULL;
|
| + newInterface->fStencilFillPath = NULL;
|
| + newInterface->fStencilStrokePath = NULL;
|
| + newInterface->fStencilFillPathInstanced = NULL;
|
| + newInterface->fStencilStrokePathInstanced = NULL;
|
| + newInterface->fPathCoverDepthFunc = NULL;
|
| + newInterface->fPathColorGen = NULL;
|
| + newInterface->fPathTexGen = NULL;
|
| + newInterface->fPathFogGen = NULL;
|
| + newInterface->fCoverFillPath = NULL;
|
| + newInterface->fCoverStrokePath = NULL;
|
| + newInterface->fCoverFillPathInstanced = NULL;
|
| + newInterface->fCoverStrokePathInstanced = NULL;
|
| + newInterface->fGetPathParameteriv = NULL;
|
| + newInterface->fGetPathParameterfv = NULL;
|
| + newInterface->fGetPathCommands = NULL;
|
| + newInterface->fGetPathCoords = NULL;
|
| + newInterface->fGetPathDashArray = NULL;
|
| + newInterface->fGetPathMetrics = NULL;
|
| + newInterface->fGetPathMetricRange = NULL;
|
| + newInterface->fGetPathSpacing = NULL;
|
| + newInterface->fGetPathColorGeniv = NULL;
|
| + newInterface->fGetPathColorGenfv = NULL;
|
| + newInterface->fGetPathTexGeniv = NULL;
|
| + newInterface->fGetPathTexGenfv = NULL;
|
| + newInterface->fIsPointInFillPath = NULL;
|
| + newInterface->fIsPointInStrokePath = NULL;
|
| + newInterface->fGetPathLength = NULL;
|
| + newInterface->fPointAlongPath = NULL;
|
| +
|
| + return newInterface;
|
| +}
|
| +
|
| GrGLInterface::GrGLInterface()
|
| // TODO: Remove this madness ASAP.
|
| : fActiveTexture(&fFunctions.fActiveTexture)
|
| @@ -205,8 +263,7 @@ GrGLInterface::GrGLInterface()
|
| , fIsPointInFillPath(&fFunctions.fIsPointInFillPath)
|
| , fIsPointInStrokePath(&fFunctions.fIsPointInStrokePath)
|
| , fGetPathLength(&fFunctions.fGetPathLength)
|
| - , fPointAlongPath(&fFunctions.fPointAlongPath)
|
| -{
|
| + , fPointAlongPath(&fFunctions.fPointAlongPath) {
|
| fStandard = kNone_GrGLStandard;
|
|
|
| #if GR_GL_PER_GL_FUNC_CALLBACK
|
| @@ -215,6 +272,20 @@ GrGLInterface::GrGLInterface()
|
| #endif
|
| }
|
|
|
| +GrGLInterface* GrGLInterface::NewClone(const GrGLInterface* interface) {
|
| + SkASSERT(NULL != interface);
|
| +
|
| + GrGLInterface* clone = SkNEW(GrGLInterface);
|
| + clone->fStandard = interface->fStandard;
|
| + clone->fExtensions = interface->fExtensions;
|
| + clone->fFunctions = interface->fFunctions;
|
| +#if GR_GL_PER_GL_FUNC_CALLBACK
|
| + clone->fCallback = interface->fCallback;
|
| + clone->fCallbackData = interface->fCallbackData;
|
| +#endif
|
| + return clone;
|
| +}
|
| +
|
| bool GrGLInterface::validate() const {
|
|
|
| if (kNone_GrGLStandard == fStandard) {
|
| @@ -405,7 +476,7 @@ bool GrGLInterface::validate() const {
|
| return false;
|
| }
|
| }
|
| - if (false && fExtensions.has("GL_NV_path_rendering")) {
|
| + if (fExtensions.has("GL_NV_path_rendering")) {
|
| if (NULL == fFunctions.fPathCommands ||
|
| NULL == fFunctions.fPathCoords ||
|
| NULL == fFunctions.fPathSubCommands ||
|
|
|