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

Issue 633393002: harden pathops for pathological test (Closed)

Created:
6 years, 2 months ago by caryclark
Modified:
6 years, 1 month ago
Reviewers:
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Project:
skia
Visibility:
Public.

Description

These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions. The fixes include - detect when finding the active top loops between two possible answers - preflight chasing winding to ensure answer is consistent - binary search more often when quadratic intersection fails - add more failure paths when an intersect is missed While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed. TBR= BUG=421132 Committed: https://skia.googlesource.com/skia/+/6f726addf3178b01949bb389ef83cf14a1d7b6b2 Committed: https://skia.googlesource.com/skia/+/65f553182ab7069378ef863d30094d0327f178d0

Patch Set 1 #

Patch Set 2 : work in progress #

Patch Set 3 : partial fix; align points after adding coincident data #

Patch Set 4 : fix top sort for battle #

Patch Set 5 : ignore tight coincidence; error out on close ends #

Patch Set 6 : checkpoint: fuzz763_378 fixed + legacy works #

Patch Set 7 : checkpoint; a couple bugs fixed, legacy works, more to do #

Patch Set 8 : checkpoint; binary search quad intersection more aggressively #

Patch Set 9 : checkpoint: another round of fixes, legacy works #

Patch Set 10 : checkpoint; handle all unsortable; legacy passes #

Patch Set 11 : checkpoint; one more fix; add chrome debugging #

Patch Set 12 : formalize runFail flag to check that failing tests run and fail #

Patch Set 13 : add test; fix quad intersection #

Patch Set 14 : make chrome debug code use file #

Patch Set 15 : checkpoint; fix bumpSpan to avoid double dipping on done span; legacy works #

Patch Set 16 : work in progress #

Patch Set 17 : checkpoint: fixed inconsistent chase bug; legacy works #

Patch Set 18 : final tweaks (no functional change) #

Patch Set 19 : fix gcc 4.8 found bug #

Patch Set 20 : fix another gcc 4.8 bug #

Patch Set 21 : checkpoint: fix two more failing cases #

Patch Set 22 : checkpoint; fix a couple more tests; legacy works #

Patch Set 23 : earlier cleanUpCoincidence fix was a regression; try again #

Patch Set 24 : move fuzz tests into their own file #

Patch Set 25 : exclude new test that asserts in debug #

Unified diffs Side-by-side diffs Delta from patch set Stats (+3837 lines, -472 lines) Patch
M gyp/pathops_unittest.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +1 line, -0 lines 0 comments Download
M src/pathops/SkAddIntersections.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +4 lines, -6 lines 0 comments Download
M src/pathops/SkDCubicIntersection.cpp View 1 2 3 4 5 6 5 chunks +8 lines, -2 lines 0 comments Download
M src/pathops/SkDLineIntersection.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +18 lines, -13 lines 0 comments Download
M src/pathops/SkDQuadIntersection.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +66 lines, -4 lines 0 comments Download
M src/pathops/SkIntersections.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 6 chunks +14 lines, -3 lines 0 comments Download
M src/pathops/SkIntersections.cpp View 1 2 3 4 5 3 chunks +5 lines, -1 line 0 comments Download
M src/pathops/SkOpAngle.h View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download
M src/pathops/SkOpAngle.cpp View 1 2 3 4 5 6 3 chunks +8 lines, -3 lines 0 comments Download
M src/pathops/SkOpContour.h View 1 2 3 4 2 chunks +6 lines, -3 lines 0 comments Download
M src/pathops/SkOpContour.cpp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/pathops/SkOpSegment.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 7 chunks +28 lines, -14 lines 0 comments Download
M src/pathops/SkOpSegment.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 41 chunks +473 lines, -90 lines 0 comments Download
M src/pathops/SkPathOpsCommon.cpp View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +56 lines, -7 lines 0 comments Download
M src/pathops/SkPathOpsDebug.h View 1 2 3 16 2 chunks +2 lines, -2 lines 0 comments Download
M src/pathops/SkPathOpsOp.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +59 lines, -5 lines 0 comments Download
M src/pathops/SkPathOpsPoint.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/pathops/SkPathOpsTypes.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +6 lines, -0 lines 0 comments Download
M src/pathops/SkReduceOrder.cpp View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M tests/PathOpsBattles.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 48 chunks +43 lines, -94 lines 0 comments Download
M tests/PathOpsDebug.cpp View 1 2 3 4 5 4 chunks +26 lines, -4 lines 0 comments Download
M tests/PathOpsExtendedTest.h View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -3 lines 0 comments Download
M tests/PathOpsExtendedTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +19 lines, -7 lines 0 comments Download
A tests/PathOpsFuzz763Test.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +2434 lines, -0 lines 0 comments Download
M tests/PathOpsOpTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 8 chunks +18 lines, -19 lines 0 comments Download
M tests/PathOpsQuadIntersectionTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +30 lines, -8 lines 0 comments Download
M tests/PathOpsQuadReduceOrderTest.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M tests/PathOpsSkpTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +10 lines, -13 lines 0 comments Download
M tools/pathops_sorter.htm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +27 lines, -0 lines 0 comments Download
M tools/pathops_visualizer.htm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +458 lines, -167 lines 0 comments Download

Messages

Total messages: 11 (4 generated)
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/633393002/390001
6 years, 1 month ago (2014-10-28 15:35:47 UTC) #2
commit-bot: I haz the power
Try jobs failed on following builders: Build-Ubuntu13.10-GCC4.8-x86_64-Release-Trybot on client.skia.compile (http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu13.10-GCC4.8-x86_64-Release-Trybot/builds/292)
6 years, 1 month ago (2014-10-28 15:38:02 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/633393002/410001
6 years, 1 month ago (2014-10-28 16:06:11 UTC) #6
commit-bot: I haz the power
Committed patchset #19 (id:410001) as 6f726addf3178b01949bb389ef83cf14a1d7b6b2
6 years, 1 month ago (2014-10-28 17:33:16 UTC) #7
hcm
A revert of this CL (patchset #19 id:410001) has been created in https://codereview.chromium.org/686843002/ by hcm@google.com. ...
6 years, 1 month ago (2014-10-28 17:55:09 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/633393002/530001
6 years, 1 month ago (2014-11-13 14:42:12 UTC) #10
commit-bot: I haz the power
6 years, 1 month ago (2014-11-13 14:59:02 UTC) #11
Message was sent while issue was closed.
Committed patchset #25 (id:530001) as
https://skia.googlesource.com/skia/+/65f553182ab7069378ef863d30094d0327f178d0

Powered by Google App Engine
This is Rietveld 408576698