skia2/tools
Cary Clark ea2a6323bc fix pathops unsortable angles
Pathops determines which edges are kept and discarded
by sorting intersections counterclockwise. An edge
may be unsortable if it is too close to a neighbor to
clearly be on its left or right.

If a pair of lines is unsortable, they are probably
nearly coincident, but just far enough apart to escape
the coincident test.

The current code correctly marks the lines as unsortable,
but returned a guess at the sorting order anyway. Instead,
preserve the unsorted-ness (unsorted mess?) and let
the decision of what to keep defer til later.

This triggered a couple of asserts that needed rewriting
or disabling, but fixes the bug in question and does not
regress the extended tests in debug or release.

Also, fix a debugging routine that bit-rotted.

TBR=reed@google.com

Bug: skia:8228
Change-Id: Ifab90c65837ed9656bb572c385fcc5c916348778
Reviewed-on: https://skia-review.googlesource.com/149620
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-08-27 18:00:06 +00:00
..
android Reuse more upload_to_android and allow removing flag on Android 2017-10-31 14:37:14 +00:00
bookmaker fix bookmaker check for enum size 2018-08-10 19:07:25 +00:00
calmbench Remove gclient sync from calmbench 2018-08-24 19:18:56 +00:00
copyright Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
debugger added optimizations to speed up skinning 2018-08-15 15:52:29 +00:00
fiddle Dest color space no longer impacts mipmaps or texture sampling 2018-06-01 17:00:26 +00:00
flags migrating SkTDArray towards std::vector api 2018-08-08 15:51:44 +00:00
fonts Make create_test_font less global-ish. 2018-08-23 21:23:29 +00:00
gdb Update gdb bitmap viewer. 2018-06-20 21:24:27 +00:00
gpu Update vulkan features (again) to support extension features. 2018-08-08 13:48:38 +00:00
lottiecap [lottiecap] Fix timestamp calculation to exactly match skottie in DM. 2018-03-20 21:02:57 +00:00
lua Remove picture_utils 2018-08-09 14:14:17 +00:00
mdbviz Remove carriage returns. 2017-10-09 20:41:14 +00:00
rebaseline Change add to toggle in the comments 2017-11-10 17:19:07 +00:00
sk_app IWYU: SkUtils.h 2018-08-21 16:05:44 +00:00
skdiff migrating SkTDArray towards std::vector api 2018-08-08 15:51:44 +00:00
skiaserve Remove picture_utils 2018-08-09 14:14:17 +00:00
skp Omit "espn" from key_mobile_sites_smooth in RecreateSKPs bot 2018-05-20 14:53:16 +00:00
skpbench Remove picture_utils 2018-08-09 14:14:17 +00:00
skqp SkQP: test_apk.sh tool 2018-08-23 19:15:18 +00:00
svg Remove internal files from externally visible markdown documentation 2018-01-10 13:25:19 +00:00
timer Move Views into Sample and Viewer. 2018-08-09 15:25:32 +00:00
trace Optimize the size of our JSON 2017-08-17 11:51:26 +00:00
viewer [skottie] Plumb external SkFontMgr 2018-08-23 13:13:30 +00:00
__init__.py
add_codereview_message.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
AndroidSkDebugToStdOut.cpp
BigPathBench.inc Factor out VisualBench timing code into a helper class 2015-10-05 07:23:30 -07:00
bisect_roll Add bisect_roll tool 2018-01-11 19:42:55 +00:00
bisect_roll.bat Add bisect_roll tool 2018-01-11 19:42:55 +00:00
bisect_roll.go Add bisect_roll tool 2018-01-11 19:42:55 +00:00
build_command_buffer.py Improvements to build_command_buffer.py 2016-11-04 10:54:54 -07:00
BUILD_simulator.py Fix Google3 fonts. Use fontconfig rather than custom_directory_factory. Add Google3 font caching. 2015-12-01 11:12:05 -08:00
build_workaround_header.py Add CheckGeneratedFiles recipe check for gpu workarounds 2018-04-25 19:26:27 +00:00
check-headers-self-sufficient C++14 2018-06-04 13:22:49 +00:00
chrome_fuzz.cpp Fix SkFILEStream. 2017-03-10 19:58:46 +00:00
compare_codereview.py
CrashHandler.cpp GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
CrashHandler.h
DDLPromiseImageHelper.cpp implemented getting format from texture as virtual in gpu caps 2018-06-28 20:21:17 +00:00
DDLPromiseImageHelper.h implemented getting format from texture as virtual in gpu caps 2018-06-28 20:21:17 +00:00
DDLTileHelper.cpp Pull non-substantive changes out of omnibus CL 2018-06-13 18:07:58 +00:00
DDLTileHelper.h Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
doxygen_footer.txt
dump_record.cpp clean up SkDeferredCanvas 2017-11-27 21:31:26 +00:00
DumpRecord.cpp clean up SkPicture include 2018-06-12 13:56:33 +00:00
DumpRecord.h
embed_resources.py
find_run_binary.py
fix_pythonpath.py
gcov_shim
get_current_monitor_profile.cpp Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
get_images_from_skps.cpp Use SkJSONWriter for get_images_from_skps stats reporting 2018-06-19 20:06:36 +00:00
git-sync-deps tools/git-sync-deps: fix 2018-06-20 14:38:34 +00:00
gyp GN 2016-06-23 10:29:30 -07:00
hello-opencl.cpp add hello-opencl 2018-06-20 21:50:47 +00:00
imgblur.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
imgcvt.cpp add imgcvt 2018-07-27 15:11:17 +00:00
imgslice.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
install_dependencies.sh Add header file installation tips for building skia 2018-02-14 13:07:27 +00:00
ios_utils.h Fix bugs with fence sync API on iOS devices 2017-10-10 19:05:13 +00:00
ios_utils.m iOS: cd into Documents folder at startup 2017-02-06 15:06:45 +00:00
jsondiff.py Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
list_gms.cpp sk_tool::Registry: make an iterator. 2018-08-01 16:59:19 +00:00
list_gpu_unit_tests.cpp sk_tool::Registry: make an iterator. 2018-08-01 16:59:19 +00:00
LsanSuppressions.cpp Test GrContextOptions persistent cache on linux/quadrop400 bots. 2018-07-16 19:09:19 +00:00
merge_static_libs.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
milestone.py SkPDF: milestone in metadata, also SkMilestone.h 2016-03-29 09:09:29 -07:00
mirror-dev.sh Update mirror-dev for *-dev:amd64 packages. 2017-11-09 22:44:57 +00:00
misc_utils.py
OverwriteLine.h eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
parse_llvm_coverage.py Walk through files in parse_llvm_coverage.py instead of using 'git ls-files' 2016-04-18 04:18:56 -07:00
pathops_sorter.htm handle degenerate cubic loops 2018-02-02 20:39:09 +00:00
pathops_visualizer.htm fix pathops unsortable angles 2018-08-27 18:00:06 +00:00
ProcStats.cpp eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
ProcStats.h DM+nanobench: print both current and max RSS. 2015-04-30 07:11:22 -07:00
public_headers_warnings_check.cpp GN: add public headers warnings check. 2016-11-16 19:27:29 +00:00
random_parse_path.cpp Add unit test to feed valid SVG sequences to make sure that 2016-02-09 10:30:22 -08:00
random_parse_path.h Add unit test to feed valid SVG sequences to make sure that 2016-02-09 10:30:22 -08:00
reformat-json.py
Registry.h sk_tool::Registry: make an iterator. 2018-08-01 16:59:19 +00:00
remote_demo.cpp fonts: Reland push font remoting. 2018-05-02 18:39:31 +00:00
ResourceFactory.h SkQP: ResourceFactory 2018-01-29 21:23:33 +00:00
Resources.cpp sk_tools/Resources: optional SK_TOOLS_REQUIRE_RESOURCES flag 2018-04-24 18:08:06 +00:00
Resources.h Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
retrieve_from_googlesource.py
sanitize_source_files.py Clean up more references to GYP. 2017-02-06 17:55:35 +00:00
sk_pixel_iter.h handle clipping large triangles 2018-01-30 15:56:35 +00:00
sk_tool_utils.cpp don't adapt any gray colors to 565 2018-08-16 19:13:41 +00:00
sk_tool_utils.h Restore SkLightingShader and associated classes 2018-07-17 17:24:50 +00:00
skhello.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
SkJSONCPP.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
skp_parser.cpp Remove code that was only used by the old debugger 2018-04-09 13:30:54 +00:00
skpinfo.cpp Revert "Revert "SkTypes: extract SkTo"" 2018-06-14 14:55:17 +00:00
skpmaker.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
Stats.h Consolidate SK_CRASH and sk_throw into SK_ABORT 2016-01-29 08:51:04 -08:00
test_all.py
test_pdfs.py
UrlDataManager.cpp Create image cache for use by json canvas 2016-02-08 07:08:21 -08:00
UrlDataManager.h Use sse4.2 CRC32 instructions to hash when available. 2016-08-08 09:06:28 -07:00
using_skia_and_harfbuzz.cpp Make SkShaper a module 2018-05-30 04:04:07 +00:00
valgrind.supp Add valgrind suppression for leak in libGLX_nvidia when caching program binaries 2018-07-18 16:43:51 +00:00
whitelist_typefaces.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
win_dbghelp.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
win_dbghelp.h eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
win_lcid.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
xsan.blacklist turn on alignment sanitizer 2018-08-09 21:13:15 +00:00