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

Issue 2259493002: Fix assert caused by floating point error in tessellating path renderer. (Closed)

Created:
4 years, 4 months ago by Stephen White
Modified:
4 years, 4 months ago
Reviewers:
robertphillips
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Fix assert caused by floating point error in tessellating path renderer. In rare cases, floating point error causes the tesselator to add the same Vertex to more than one Poly on the same side. This was not a big problem when we were allocating new vertices when constructing Polys, but after https://codereview.chromium.org/2029243002 it causes more serious issues, since each Edge can only belong to two Polys, and violating this condition messes up the linked list of Edges used for left & right Polys and the associated estimated vertex count. The fix is to simply let the first Poly win, and skip that vertex for subsequent Polys. Since this only occurs in cases where vertices are very close to each other, it should have little visual effect. This is also exercised by Nebraska-StateSeal.svg. BUG=skia:5636 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2259493002 Committed: https://skia.googlesource.com/skia/+/70f5251cc59191040a14cd0f1567aa2129e1f7c6

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+33 lines, -4 lines) Patch
M src/gpu/GrTessellator.cpp View 4 chunks +15 lines, -4 lines 0 comments Download
M tests/TessellatingPathRendererTests.cpp View 2 chunks +18 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (9 generated)
Stephen White
robertphillips@: PTAL. Thanks!
4 years, 4 months ago (2016-08-17 18:50:10 UTC) #6
robertphillips
lgtm
4 years, 4 months ago (2016-08-17 21:55:01 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2259493002/1
4 years, 4 months ago (2016-08-17 21:55:10 UTC) #11
commit-bot: I haz the power
4 years, 4 months ago (2016-08-17 21:56:26 UTC) #13
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://skia.googlesource.com/skia/+/70f5251cc59191040a14cd0f1567aa2129e1f7c6

Powered by Google App Engine
This is Rietveld 408576698