New issue
Advanced search Search tips

Issue 680260 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 642376



Sign in to add a comment

Screenspace AA tessellating path renderer shows transparent artifacts on 1-pixel-wide stroked rects

Project Member Reported by senorblanco@chromium.org, Jan 11 2017

Issue description

Build Chrome with the tess AA path renderer enabled (SK_DISABLE_SCREENSPACE_TESS_AA_PATH_RENDERER not #defined).

Open layout test fast/canvas/canvas-pattern-no-repeat-with-transformations.html

The stroked rects around the test cases have dropouts on some edges.
 
Blocking: 642376
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 12 2017

The following revision refers to this bug:
  https://skia.googlesource.com/skia.git/+/e7a364d435843a868dcac2c61d78c34e5d3e326c

commit e7a364d435843a868dcac2c61d78c34e5d3e326c
Author: Stephen White <senorblanco@chromium.org>
Date: Wed Jan 11 21:19:26 2017

GrTessellator: fix artifact with exactly-1-px-wide edges.

When path features are exactly a pixel wide, the extruded inner edges
can become collinear and then be removed, since their winding is
zero. We need these edges to be preserved through triangulation,
otherwise opaque portions of the geometry can become transparent.

Since the simplify() pass can handle zero-winding edges just fine, the
the fix is to simply not remove them.

In addition, this changes refactors out disconnect() from all the calls
to remove_edge_above()/remove_edge_below(). It also renames the remaining
function erase_edge() (since it's now unconditional).

Add a new test to a new "thinconcavepaths" GM.

BUG= 680260 
NOTRY=true

Change-Id: I1d3a436c95a01c4d4ef5dc05503de4312677f65d
Reviewed-on: https://skia-review.googlesource.com/6902
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephan White <senorblanco@chromium.org>

[add] https://crrev.com/e7a364d435843a868dcac2c61d78c34e5d3e326c/gm/thinconcavepaths.cpp
[modify] https://crrev.com/e7a364d435843a868dcac2c61d78c34e5d3e326c/gn/gm.gni
[modify] https://crrev.com/e7a364d435843a868dcac2c61d78c34e5d3e326c/src/gpu/GrTessellator.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Jan 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96bbaa02ca5a0fff800936d9fba010ed6943fd71

commit 96bbaa02ca5a0fff800936d9fba010ed6943fd71
Author: skia-deps-roller <skia-deps-roller@chromium.org>
Date: Thu Jan 12 08:14:37 2017

Roll src/third_party/skia/ e4ca36225..e7a364d43 (1 commit).

https://skia.googlesource.com/skia.git/+log/e4ca362259a3..e7a364d43584

$ git log e4ca36225..e7a364d43 --date=short --no-merges --format='%ad %ae %s'
2017-01-11 senorblanco GrTessellator: fix artifact with exactly-1-px-wide edges.

BUG= 680260 

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
TBR=kjlubick@google.com

Review-Url: https://codereview.chromium.org/2630443004
Cr-Commit-Position: refs/heads/master@{#443183}

[modify] https://crrev.com/96bbaa02ca5a0fff800936d9fba010ed6943fd71/DEPS

Status: Fixed (was: Assigned)

Sign in to add a comment