Fix slow gm debug builds that are doing large path validation runs.
authordjsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Mon, 22 Oct 2012 20:23:32 +0000 (20:23 +0000)
committerdjsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Mon, 22 Oct 2012 20:23:32 +0000 (20:23 +0000)
Add a new compile flag to allow path validation to be selectively
enabled instead of being always on.

Review URL: https://codereview.appspot.com/6734059

git-svn-id: http://skia.googlecode.com/svn/trunk@6036 2bbb7eff-a529-9590-31e7-b0007b416f81

include/config/SkUserConfig.h
src/core/SkPath.cpp

index 93dda70..79fdc7a 100644 (file)
 //#define SK_DEBUG
 //#define SK_RELEASE
 
+/*  Skia has certain debug-only code that is extremely intensive even for debug
+    builds.  This code is useful for diagnosing specific issues, but is not
+    generally applicable, therefore it must be explicitly enabled to avoid
+    the performance impact. By default these flags are undefined, but can be
+    enabled by uncommenting them below.
+ */
+//#define SK_DEBUG_PATH
+
 /*  To assist debugging, Skia provides an instance counting utility in
     include/core/SkInstCount.h. This flag turns on and off that utility to
     allow instance count tracking in either debug or release builds. By
index eb0e485..9723db9 100644 (file)
@@ -1942,6 +1942,7 @@ void SkPath::validate() const {
     SkASSERT(this != NULL);
     SkASSERT((fFillType & ~3) == 0);
 
+#ifdef SK_DEBUG_PATH
     if (!fBoundsIsDirty) {
         SkRect bounds;
 
@@ -1990,8 +1991,9 @@ void SkPath::validate() const {
         }
     }
     SkASSERT(mask == fSegmentMask);
+#endif // SK_DEBUG_PATH
 }
-#endif
+#endif // SK_DEBUG
 
 ///////////////////////////////////////////////////////////////////////////////