SVG with thick strokes cause visual leaking when Hardware acceleration is on
Reported by
a...@evernote.com,
Jun 11 2018
|
||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.17 Safari/537.36 Example URL: Steps to reproduce the problem: See https://youtu.be/ee_LeTAH1qo for the recording of how the bug manifests itself. Attached is a minimal project that was used to record the bug. Steps to reproduce: 1. Unzip the attached file. 2. Open index.html in the browser What is the expected behavior? No visual artifacts are present. What went wrong? Some geometry is heavily leaking. Does it occur on multiple sites: N/A Is it a problem with a plugin? N/A Did this work before? N/A Does this work in other browsers? N/A Chrome version: 68.0.3440.17 Channel: beta OS Version: OS X 10.12.6 Flash Version: This only happens when hardware acceleration is enabled, both on 67.0.3396.79 (Official Build) (64-bit) and 68.0.3440.17 (Official Build) beta (64-bit). The problem is in the thicker (2px) strokes (see the CSS file for the extra comment). If I remove `stroke-width: 2px` from the rendered circles (and stroke width will be a default one), then the problem disappears. For extra statistics, the bug is also present in latest stable Electron (unless --disable-gpu is provided to disable hardware acceleration). The bug does not appear in Safari. The attached demo uses some clipping code for SVG paths. I suspect that a combination of very small SVG paths occurring at the edges of the spherical shape + non-default stroke width is what causing the issue.
,
Jun 12 2018
Able to reproduce the issue on chrome reported version 68.0.3440.17 and on latest chrome 69.0.3455.0 using Mac 10.12.6 and Windows-10. As this issue is seen from M-60(60.0.3112.0), hence considering this issue a Non-Regression and marking it as Untriaged. Note: Issue is not seen on Ubuntu 14.04. Thanks!
,
Jun 12 2018
,
Aug 22
Here's a minimalist demo. The issue seems to disappear when we constrain the numbers to integers or integers+0.5 (e.g. try changing the 499.9 to 500).
,
Aug 24
senorblanco: more gpu path rasterization bugs for you to triage/investigate.
,
Aug 27
I was able to repro this one only after switching to the Intel GPU on my MBP. So likely --gpu-rasterization-msaa-sample-count=0 would be necessary to repro on the discrete GPU. This one also seems to be GrAALinearizingConvexPathRenderer; possibly a dupe of http://crbug.com/869172 . Brian, could you take a look?
,
Sep 5
The following revision refers to this bug: https://skia.googlesource.com/skia/+/20ea47a5d9aa99b20a7745efce0f6c325666b463 commit 20ea47a5d9aa99b20a7745efce0f6c325666b463 Author: Brian Salomon <bsalomon@google.com> Date: Wed Sep 05 19:20:49 2018 Fix missing triangle when miter point omitted in GrAAConvexTessellator. This issue is seen in the existing GPU results for GM "strokes_round". Detected while investigating the below bug. However, the real bug there caused by bad tessellations appears to be coming from GrAAConvexPathRenderer. BUG= chromium:851637 Change-Id: If4e653d10823d53f68bb9bf6bb77875cf391426f Reviewed-on: https://skia-review.googlesource.com/151368 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> [modify] https://crrev.com/20ea47a5d9aa99b20a7745efce0f6c325666b463/src/gpu/ops/GrAAConvexTessellator.cpp
,
Sep 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f65d3e611c4dce936326bf53b5a065babef1129b commit f65d3e611c4dce936326bf53b5a065babef1129b Author: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Date: Wed Sep 05 23:51:31 2018 Roll src/third_party/skia 29a4a684af25..0c3dc59fc1c6 (14 commits) https://skia.googlesource.com/skia.git/+log/29a4a684af25..0c3dc59fc1c6 git log 29a4a684af25..0c3dc59fc1c6 --date=short --no-merges --format='%ad %ae %s' 2018-09-05 swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll third_party/externals/swiftshader fe5861bf5bb1..ad5c2952ca88 (5 commits) 2018-09-05 mtklein@google.com fix sw extended transfer functions 2018-09-05 mtklein@google.com fix typo 2018-09-05 mtklein@google.com add src/opts headers to .gni files 2018-09-05 bsalomon@google.com Don't use MEM_MOVE=true with SkTArrays of sk_sp 2018-09-05 jvanverth@google.com Rip out variable offsetting 2018-09-05 bsalomon@google.com Fix GrAAConvexTessellator to handle cases slightly concave bistectors. 2018-09-05 recipe-roller@chromium.org Roll recipe dependencies (trivial). 2018-09-05 herb@google.com Centralize the predicate for a glyph being too large for the atlas 2018-09-05 bsalomon@google.com Fix missing triangle when miter point omitted in GrAAConvexTessellator. 2018-09-05 brianosman@google.com Remove SK_USE_LEGACY_PRIMARIES_TO_XYZ 2018-09-05 skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/skcms 8a251fa55434..da4870efd7b7 (1 commits) 2018-09-05 caryclark@google.com Revert "makeSurface defaults to raster" 2018-09-05 egdaniel@google.com On GrAHardwareBufferImageGenerator store the owned texture as a GrGpuResource instead of GrTexture. Created with: gclient setdep -r src/third_party/skia@0c3dc59fc1c6 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=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel BUG= chromium:875650 , chromium:851637 ,chromium:b/112859199 TBR=jvanverth@chromium.org Change-Id: I21e2f158cebeb62dbc38dfafaf9daea314093269 Reviewed-on: https://chromium-review.googlesource.com/1208297 Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#589064} [modify] https://crrev.com/f65d3e611c4dce936326bf53b5a065babef1129b/DEPS
,
Sep 6
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by krajshree@chromium.org
, Jun 12 2018