Screenspace AA tessellating path renderer shows jaggy artifacts |
||
Issue descriptionWith the screenspace AA tessellator enabled (#define SK_DISABLE_SCREENSPACE_TESS_AA_PATH_RENDERER removed), several layout tests show visual artifacts. In particular: virtual/gpu/fast/canvas/canvas-arc-circumference-fill.html has jaggy edges on bottom three rows virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill.html has jaggy edges on almost all rows This seems to occur when the path contains two self-intersections along the same straight edge.
,
Jan 3 2017
The following revision refers to this bug: https://skia.googlesource.com/skia.git/+/d4b21552481a6d313dfa9bc14b624c9ec94b56ce commit d4b21552481a6d313dfa9bc14b624c9ec94b56ce Author: Stephen White <senorblanco@chromium.org> Date: Tue Jan 03 20:24:19 2017 Quality and performance fixes for AA tessellating path renderer. Use quads rather than triangles for the edge geometry. This allows us to perform a simpler edge categorization (see below). It also improves performance by reducing the number of edges processed during the simplify and tessellate steps. Label AA edges as three types: inner, outer, and connector. This results in correct alpha values for intersected edges, even when the top or bottom vertex has been merged with a vertex on edges of different types. Changed the "collinear edges" sample from the concavepaths GM for a "fast-foward" shape, which more clearly shows the problem being fixed here. (The collinearity from the "collinear edges" was actually being removed earlier up the stack, causing the path to become convex and not exercise the concave path renderers anyway.) NOTE: this will cause changes in the "concavepaths" GM results, and minor pixel diffs in a number of other tests. BUG= 660893 Change-Id: Ide49374d6d173404c7223f7316dd439df1435787 Reviewed-on: https://skia-review.googlesource.com/6427 Commit-Queue: Stephan White <senorblanco@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> [modify] https://crrev.com/d4b21552481a6d313dfa9bc14b624c9ec94b56ce/gm/concavepaths.cpp [modify] https://crrev.com/d4b21552481a6d313dfa9bc14b624c9ec94b56ce/src/gpu/GrPathRendererChain.cpp [modify] https://crrev.com/d4b21552481a6d313dfa9bc14b624c9ec94b56ce/src/gpu/GrTessellator.cpp [modify] https://crrev.com/d4b21552481a6d313dfa9bc14b624c9ec94b56ce/src/gpu/ops/GrTessellatingPathRenderer.cpp
,
Jan 3 2017
The following revision refers to this bug: https://skia.googlesource.com/skia.git/+/021f927e4cb8293a56923b763682217067486878 commit 021f927e4cb8293a56923b763682217067486878 Author: Stephan White <senorblanco@chromium.org> Date: Tue Jan 03 21:06:16 2017 Revert "Quality and performance fixes for AA tessellating path renderer." This reverts commit d4b21552481a6d313dfa9bc14b624c9ec94b56ce. Reason for revert: accidentally added some unwanted changes Original change's description: > Quality and performance fixes for AA tessellating path renderer. > > Use quads rather than triangles for the edge geometry. This allows > us to perform a simpler edge categorization (see below). It also > improves performance by reducing the number of edges processed during > the simplify and tessellate steps. > > Label AA edges as three types: inner, outer, and connector. This > results in correct alpha values for intersected edges, even when > the top or bottom vertex has been merged with a vertex on edges > of different types. > > Changed the "collinear edges" sample from the concavepaths GM for a > "fast-foward" shape, which more clearly shows the problem being fixed > here. (The collinearity from the "collinear edges" was actually being > removed earlier up the stack, causing the path to become convex and > not exercise the concave path renderers anyway.) > > NOTE: this will cause changes in the "concavepaths" GM results, and > minor pixel diffs in a number of other tests. > > BUG= 660893 > > Change-Id: Ide49374d6d173404c7223f7316dd439df1435787 > Reviewed-on: https://skia-review.googlesource.com/6427 > Commit-Queue: Stephan White <senorblanco@chromium.org> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,senorblanco@chromium.org,reviews@skia.org BUG= 660893 NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I06a36e397645bfc42442a5a9e7c27328f6048ab9 Reviewed-on: https://skia-review.googlesource.com/6428 Commit-Queue: Stephan White <senorblanco@chromium.org> Reviewed-by: Stephan White <senorblanco@chromium.org> [modify] https://crrev.com/021f927e4cb8293a56923b763682217067486878/gm/concavepaths.cpp [modify] https://crrev.com/021f927e4cb8293a56923b763682217067486878/src/gpu/GrPathRendererChain.cpp [modify] https://crrev.com/021f927e4cb8293a56923b763682217067486878/src/gpu/GrTessellator.cpp [modify] https://crrev.com/021f927e4cb8293a56923b763682217067486878/src/gpu/ops/GrTessellatingPathRenderer.cpp
,
Jan 4 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/880996d1006558c9bf2cc1399bbee3e51db5a205 commit 880996d1006558c9bf2cc1399bbee3e51db5a205 Author: skia-deps-roller <skia-deps-roller@chromium.org> Date: Wed Jan 04 02:54:31 2017 Roll src/third_party/skia/ 7551898f8..9ea894b4d (13 commits). https://skia.googlesource.com/skia.git/+log/7551898f8eba..9ea894b4d030 $ git log 7551898f8..9ea894b4d --date=short --no-merges --format='%ad %ae %s' 2017-01-03 mtklein Revert "trim another instruction off SkRasterPipeline overhead" 2017-01-03 bungeman Specify "/utf-8" with Visual C++. 2017-01-03 senorblanco Quality and performance fixes for AA tessellating path renderer. 2017-01-03 senorblanco Revert "Quality and performance fixes for AA tessellating path renderer." 2017-01-03 senorblanco Quality and performance fixes for AA tessellating path renderer. 2017-01-03 ethannicholas fixed a divide-by-zero bug in skslc 2017-01-03 ethannicholas switched GrVkPipelineStateCache over to use SkLRUCache 2017-01-03 herb Fix: when pos is not finite, text pointer not advanced. 2017-01-03 reed validate deserialized path verbs 2016-12-22 scroggo GIF: Better check for frame dependency 2017-01-03 ethannicholas Force classic locale when parsing floats in skslc. 2016-12-29 ethannicholas fix for Vulkan SPIR-V crash on some systems 2016-12-29 mtklein trim another instruction off SkRasterPipeline overhead BUG= 660893 , 660893 , 676755 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=csmartdalton@google.com Review-Url: https://codereview.chromium.org/2602323004 Cr-Commit-Position: refs/heads/master@{#441303} [modify] https://crrev.com/880996d1006558c9bf2cc1399bbee3e51db5a205/DEPS
,
Jan 12 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by senorblanco@chromium.org
, Oct 31 2016