Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(578)

Unified Diff: src/gpu/gl/GrGLInterface.cpp

Issue 144003006: Turn NVPR on by default (but off in tools). (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: fix Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 ||

Powered by Google App Engine
This is Rietveld 408576698