add pathops debugging
authorcaryclark <caryclark@google.com>
Thu, 25 Aug 2016 12:21:14 +0000 (05:21 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 25 Aug 2016 12:21:14 +0000 (05:21 -0700)
commit025b11ecde8733d9b3eee54e132cc50a5ce8eb78
tree1f6f2353f17028e66b2f64e7914f527a880f721b
parentb8b3f71c5589aaed8ae76727f3d62642a192b359
add pathops debugging

Pathops has many points of failure, most of which
are triggered by extreme data generated by fuzzers.
It's difficult to figure out which failure point
was triggered when the operation gives up.

Add instrumentation so that the failure can
be debugged when the data is well-behaved.

Also, add a check that looks for a sequence of
coincident points on multiple edges that are out
of order when compared to each other.

TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2274803003

Review-Url: https://codereview.chromium.org/2274803003
src/pathops/SkOpCoincidence.cpp
src/pathops/SkOpCoincidence.h
src/pathops/SkOpSegment.cpp
src/pathops/SkOpSegment.h
src/pathops/SkOpSpan.h
src/pathops/SkPathOpsDebug.cpp
src/pathops/SkPathOpsDebug.h