skia2/gn
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
..
android_framework_defines.gni Clean up unused SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS code 2017-01-10 18:01:39 +00:00
ar.py GN: quiet alink spam on Mac 2016-11-07 14:19:32 +00:00
bench.gni remove xbyak experiment 2017-01-10 16:25:10 +00:00
BUILD.gn Get latest ANGLE as of January 6, 2017 2017-01-11 15:12:40 +00:00
BUILDCONFIG.gn Add tools to support gdb and simpleperf for android executables. 2017-01-05 17:16:01 +00:00
core.gni move SkTRegister.h into tools 2017-01-11 19:53:36 +00:00
cp.py GN: get Angle compiling on Windows. 2016-10-17 16:16:16 +00:00
effects.gni Separate SkArithmeticImageFilter from SkXfermodeImageFilter. 2017-01-09 18:31:29 +00:00
find_headers.py Mark this file as executable 2016-11-17 22:29:59 +00:00
find_ios_sysroot.py GN: iOS basics 2016-11-03 19:31:50 +00:00
gm.gni GrTessellator: fix artifact with exactly-1-px-wide edges. 2017-01-12 05:28:22 +00:00
gn_helpers.py Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
gn_meta_sln.py Move, rename, and document Visual Studio GN helper script 2016-12-14 16:41:52 +00:00
gn_to_bp.py remove MIPS DSP optimizations 2016-12-21 03:55:00 +00:00
gn_to_cmake.py Add support for lib_dirs to gn_to_cmake.py. 2016-10-28 15:07:10 +00:00
gpu.gni Generate Signed Distance Field directly from vector path 2017-01-09 18:39:43 -08:00
gypi_to_gn.py Add executable bit and shebang to python files 2016-08-18 04:36:25 -07:00
is_clang.py GN: match shell behavior for cc and cxx in is_clang.py 2016-09-27 09:29:24 -07:00
opts.gni remove MIPS DSP optimizations 2016-12-21 03:55:00 +00:00
pdf.gni Start inverting GN reading .gypis to GYP reading .gnis. 2016-10-26 17:47:00 +00:00
push_to_android.py GN: add skia_android_serial and push_$foo targets when it's set 2017-01-05 19:04:30 +00:00
samples.gni Create .gni files for samples, tests, gms, and benches. 2016-10-27 18:14:06 +00:00
shared_sources.gni remove MIPS DSP optimizations 2016-12-21 03:55:00 +00:00
sksl.gni Split SkSL and utils apart again into .gni files. 2016-10-26 18:56:37 +00:00
tests.gni Make SkColorToHSV and SkHSVToColor "perfect" inverses 2017-01-11 18:12:36 +00:00
utils.gni Retire SkNoSaveLayerCanvas 2016-12-02 14:16:33 +00:00
xps.gni xps.gni 2016-12-20 21:55:50 +00:00