Revert "remove pathop template"
This reverts commit 521f1ed0b677b86be291a7b4866ff84564dc3a1b.
Reason for revert: msan ubsan errors
Original change's description:
> remove pathop template
>
> Pathops used templates for curve intersection.
> Since only one template is required if curves share
> an abstract base, remove the template altogether.
>
> This makes the code easier to read, and incidentally
> makes it slightly smaller and much faster.
>
> This also removes debugging code specific to templates,
> and removes Simplify code which isn't covered by tests
> or fuzz.
>
> This shaves the execution time of
> pathops_unittest -V -x from 6m to 3m23s.
>
> R=​kjlubick@google.com
>
> Bug: skia:
> Change-Id: I00c08210e47efed83295276ae89ad64e7ec07ade
> Reviewed-on: https://skia-review.googlesource.com/c/162021
> Commit-Queue: Cary Clark <caryclark@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Cary Clark <caryclark@google.com>
TBR=kjlubick@google.com,caryclark@google.com,caryclark@skia.org
Change-Id: Ic5828f7affb7df96ed4ca79f037cdbcfaea24384
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/162643
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
diff --git a/src/pathops/SkOpSegment.cpp b/src/pathops/SkOpSegment.cpp
index e35f6d0..ff83f4f 100644
--- a/src/pathops/SkOpSegment.cpp
+++ b/src/pathops/SkOpSegment.cpp
@@ -985,17 +985,15 @@
return false;
}
#if DEBUG_WINDING
- if (result) {
- SkOpSpanBase* last = *result;
- if (last) {
- SkDebugf("%s last segment=%d span=%d", __FUNCTION__,
- last->segment()->debugID(), last->debugID());
- if (!last->final()) {
- SkDebugf(" windSum=");
- SkPathOpsDebug::WindingPrintf(last->upCast()->windSum());
- }
- SkDebugf(" \n");
+ SkOpSpanBase* last = *result;
+ if (last) {
+ SkDebugf("%s last segment=%d span=%d", __FUNCTION__,
+ last->segment()->debugID(), last->debugID());
+ if (!last->final()) {
+ SkDebugf(" windSum=");
+ SkPathOpsDebug::WindingPrintf(last->upCast()->windSum());
}
+ SkDebugf(" \n");
}
#endif
return true;