Issue metadata
Sign in to add a comment
|
Incorrectly filling triangle on page
Reported by
aidank...@gmail.com,
Sep 19
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 Example URL: Steps to reproduce the problem: 1. Display svg path containing several triangles What is the expected behavior? Fills only where they should be What went wrong? Fill appears outside of the shape being filled - if anything cuts across it, it causes a gradient on the fill too Does it occur on multiple sites: Yes Is it a problem with a plugin? No Did this work before? Yes 568154 Does this work in other browsers? Yes Chrome version: 69.0.3497 Channel: n/a OS Version: OS X 10.11.6 Flash Version: I've run into a bug with Chrome rendering triangle over a space where there shouldn't be anything. It's to do with it creating a fill between 2 parts of svg path that shouldn't be there. If I cross anything else into the filled space I can cause a gradiant to appear. It looks to be the following commit that's introduced it (tracked it to be definitely between R568154 and R568171), but it seems as though it's probably a deeper bug within Skia (definitely out of my depth now). The shapes I'm drawing are effectively tessellated already - maybe it's something to do with getting the winding order wrong? https://chromium.googlesource.com/chromium/src/+/df18b96b443774d232e39ead6cbd81c848b8563c Minimal example attached along with expected and bad output. Have tested on the latest build and the issue still remains.
,
Sep 20
,
Sep 20
aidankane@ Thanks for the issue. Able to reproduce this issue on Windows 10, Mac OS 10.13.3 on the latest Stable 69.0.3497.100 and latest Canary 71.0.3556.0. Issue is not observed on Ubuntu 17.10. Bisect Information: =================== Good Build: 69.0.3464.0 Bad Build : 69.0.3465.0 By running the per-revision bisect script, runtime error was coming up. Hence below is the Changelog URL by running Chromium bisect. https://chromium.googlesource.com/chromium/src/+log/19de023d406fad43277cb4007154d8ac700baf93..bb3a6f95a840fe4cc75756f81afb6248a62bdf62 From the above Changelog and as mentioned in the original comment, suspecting the below change: Reviewed-on: https://chromium-review.googlesource.com/1099564 senorblanco@ Please check and confirm if this issue is related to your change, else help us in assigning to the right owner. Adding 'ReleaseBlock-Stable' for M-69 as this is a recent regression. Please feel free to remove if it not applicable. Thanks..
,
Sep 20
,
Sep 26
I'm unduping, since this is a simpler repro than 882584. If they turn out to have the same root cause, I'll dupe that one to this.
,
Sep 26
Skia repro of the above.
,
Sep 26
Reduction of #6 to 9 verts.
,
Sep 26
,
Sep 26
,
Sep 26
Since neither the bug this was (formerly) dupe'd into, 882584, or related bug 884166 is marked ReleaseBlock-Stable, I don't think it's warranted here either, so I've removed it. That said, we should make a best-effort to get the fix into 70 and 71.
,
Sep 26
Thanks for the incredibly quick response on this. In terms of the actual bug itself, just for my own interests, is there something wrong deeper down inside Skia? I don't understand the internals but it seems like the rendering should display the same no matter of the choice of constant GR_AA_TESSELLATOR_MAX_VERB_COUNT. Obviously, if it's too much of a pain to explain feel free to ignore me :-)
,
Sep 26
The following revision refers to this bug: https://skia.googlesource.com/skia/+/cfe1264d7465b0791073969ba6375dcca20afec9 commit cfe1264d7465b0791073969ba6375dcca20afec9 Author: Stephen White <senorblanco@chromium.org> Date: Wed Sep 26 23:57:59 2018 GrTessellator: two fixes for boundary simplification artifacts. The "pointy vertex" test was only considering the distance from the next (outgoing) edge to the previous point. It must also consider the distance from the previous (incoming) edge to the next point. If either are less than a quarter pixel, the vertex is considered pointy and should be removed. (884166) Also (887103), when an interior region was completely removed due to boundary simplification, it would leave a degenerate edge consisting of the same vertex. So avoid introducing a join edge when prev == next. Bug: 884166, 887103 Change-Id: I7f1d5b98e418d8f2a1c11643259d3cd74d08f286 Reviewed-on: https://skia-review.googlesource.com/157220 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com> [add] https://crrev.com/cfe1264d7465b0791073969ba6375dcca20afec9/gm/crbug_887103.cpp [modify] https://crrev.com/cfe1264d7465b0791073969ba6375dcca20afec9/gn/gm.gni [modify] https://crrev.com/cfe1264d7465b0791073969ba6375dcca20afec9/src/gpu/GrTessellator.cpp [add] https://crrev.com/cfe1264d7465b0791073969ba6375dcca20afec9/gm/crbug_884166.cpp
,
Sep 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f81bde4506c4167cda9f072d7dfad1a773d8cf5f commit f81bde4506c4167cda9f072d7dfad1a773d8cf5f Author: Stephen White <senorblanco@chromium.org> Date: Thu Sep 27 04:34:17 2018 Suppress two layout test failures to unblock the Skia roll. TBR=robertphillips@google.com Bug: 884166, 887103 Change-Id: Ifbe80bf396b04f57b8310e855436d85f7d172446 Reviewed-on: https://chromium-review.googlesource.com/1248262 Reviewed-by: Stephen White <senorblanco@chromium.org> Cr-Commit-Position: refs/heads/master@{#594591} [modify] https://crrev.com/f81bde4506c4167cda9f072d7dfad1a773d8cf5f/third_party/WebKit/LayoutTests/TestExpectations
,
Sep 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cd031b000616f1d080e646a6fd545c03d94a369c commit cd031b000616f1d080e646a6fd545c03d94a369c Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Date: Thu Sep 27 06:51:43 2018 Roll src/third_party/skia 5ea41fc89b26..88e4a9395a45 (3 commits) https://skia.googlesource.com/skia.git/+log/5ea41fc89b26..88e4a9395a45 git log 5ea41fc89b26..88e4a9395a45 --date=short --no-merges --format='%ad %ae %s' 2018-09-27 skia-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/externals/swiftshader 3d27f2e721ed..4241ad731a8a (1 commits) 2018-09-27 herb@google.com Redo GrTextBlob path flush 2018-09-26 senorblanco@chromium.org GrTessellator: two fixes for boundary simplification artifacts. Created with: gclient setdep -r src/third_party/skia@88e4a9395a45 The AutoRoll server is located here: https://autoroll.skia.org/r/skia-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux-chromeos-compile-dbg;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel BUG=chromium:884166, chromium:887103 TBR=bsalomon@chromium.org Change-Id: I66c8a37d44f3c2578145afc6b71624c8eef833e4 Reviewed-on: https://chromium-review.googlesource.com/1248166 Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#594617} [modify] https://crrev.com/cd031b000616f1d080e646a6fd545c03d94a369c/DEPS
,
Sep 27
,
Sep 27
Issue 882584 has been merged into this issue.
,
Oct 23
Issue 882584 was marked as a duplicate but is really not fixed in the current dev v71 or canary v72. Please see issue 882584 comment 11. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by aidank...@gmail.com
, Sep 19