Go to file
Stephen White e7a364d435 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>
2017-01-12 05:28:22 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Revert "Introduce SkArenaAlloc - should be fast for POD types and RAII for types with dtors." 2017-01-11 21:47:44 +00:00
bin tools and docs: clean up gyp-specific things 2016-12-09 21:15:27 +00:00
debugger Get Debugger app compiling again 2017-01-06 16:18:27 +00:00
dm SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h 2017-01-11 18:55:34 +00:00
example bench, samples, etc: s/SkAutoTUnref/sk_sp/ 2016-11-07 15:17:32 +00:00
experimental Plumb dst color space in many places, rather than "mode" 2016-12-09 20:31:23 +00:00
fuzz move SkTRegister.h into tools 2017-01-11 19:53:36 +00:00
gm GrTessellator: fix artifact with exactly-1-px-wide edges. 2017-01-12 05:28:22 +00:00
gn GrTessellator: fix artifact with exactly-1-px-wide edges. 2017-01-12 05:28:22 +00:00
gyp remove dead file: PathOpsSkpClipTest.cpp 2017-01-11 19:42:17 +00:00
include Fix undefined GrIORef test method on Chrome win bot 2017-01-11 21:11:12 +00:00
infra Roll recipe DEPS 2017-01-11 13:02:22 +00:00
platform_tools Add support for 64-bit devices when using gdb on Android 2017-01-06 19:57:05 +00:00
resources GIF: Better check for frame dependency 2017-01-03 19:07:41 +00:00
samplecode add win subclass of raster-allocator 2017-01-12 02:50:44 +00:00
site documentation: corrections to PDF docs 2017-01-09 21:03:29 +00:00
src GrTessellator: fix artifact with exactly-1-px-wide edges. 2017-01-12 05:28:22 +00:00
tests Revert "Introduce SkArenaAlloc - should be fast for POD types and RAII for types with dtors." 2017-01-11 21:47:44 +00:00
third_party SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h 2017-01-11 18:55:34 +00:00
tools Make GrPaints move their GrProcessor ownership into GrPipelineBuilder. 2017-01-11 19:56:48 +00:00
.clang-format Mark flatennable macros as block beginning/ending in .clang-format 2017-01-09 15:31:36 +00:00
.gitignore Remove skia.conf from .gitignore 2016-10-26 14:50:09 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Fix typo in GrGLCaps 2016-11-18 23:20:51 +00:00
BUILD.gn SkSplicer: start on Windows support 2017-01-11 19:20:37 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Get latest ANGLE as of January 6, 2017 2017-01-11 15:12:40 +00:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
gyp_skia Make Win runtime DLLs writeable before overwriting 2016-03-18 08:33:38 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Do not use post upload hooks for 'GOLD_TRYBOT_URL' 2016-11-23 18:34:23 +00:00
public.bzl remove dead file: PathOpsSkpClipTest.cpp 2017-01-11 19:42:17 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
whitespace.txt Test CL 2016-12-22 01:51:30 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.