GrTessellator: fix edge winding merged to zero.
authorStephen White <senorblanco@chromium.org>
Tue, 26 Jun 2018 14:41:27 +0000 (10:41 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Tue, 26 Jun 2018 14:54:36 +0000 (14:54 +0000)
commita4f4c3f16123741b900bcd5e29305e183b020a56
treef618c9a71d225f948759d21b541fa320b023d8d3
parentcaab4546ccda874f74cb979eee680fbc2cc7e2e0
GrTessellator: fix edge winding merged to zero.

[cherry-pick of 531a48ed788c5fabfe21704286b54d7567f35469 to M68.]

Occasionally, the top edge of a split edge can be merged out of
existence (if it can't be mathematically distinguished from one of its
adjacent edges). In this case, we need to save its winding count
before it's merged so that the other half of the split doesn't also
get zero winding.

NOTE: this adds a new test case to the concavepaths GM.

No-Tree-Checks: true
No-Try: true
No-Presubmit: true
Bug: skia:7785
Change-Id: Iff8b0a2ed3065e57b737ff915ff436146987caf6
Reviewed-On: https://skia-review.googlesource.com/131223
Reviewed-By: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-on: https://skia-review.googlesource.com/137600
gm/concavepaths.cpp
src/gpu/GrTessellator.cpp