skia2/tools
caryclark 624637cc8e Path ops formerly found the topmost unprocessed edge and determined its angle sort order to initialize the winding. This never worked correctly with cubics and was flaky with paths consisting mostly of vertical edges.
This replacement shoots axis-aligned rays through all intersecting edges to find the outermost one either horizontally or vertically. The resulting code is smaller and twice as fast.

To support this, most of the horizontal / vertical intersection code was rewritten and standardized, and old code supporting the top-directed winding was deleted.

Contours were pointed to by an SkTDArray. Instead, put them in a linked list, and designate the list head with its own class to ensure that methods that take lists of contours start at the top. This change removed a large percentage of memory allocations used by path ops.

TBR=reed@google.com
BUG=skia:3588

Review URL: https://codereview.chromium.org/1111333002
2015-05-11 07:21:28 -07:00
..
chromium Cleanup of SSE optimization files. 2014-04-30 14:58:46 +00:00
copyright Script to automatically update copyright notices in C/C++ source code. 2011-07-28 14:29:58 +00:00
flags ignore_result() 2015-05-04 10:54:48 -07:00
lua change isNestedRect to isNestedFillRect 2015-04-08 08:34:15 -07:00
skp Handpick 16 Skia page sets to create SP enabled SKPs from 2015-04-29 10:15:07 -07:00
skpdiff Remove all code related to NaCl 2015-04-02 12:16:36 -07:00
timer Have DM and nanobench display times in minutes when they're above 60 seconds. 2015-03-12 10:29:32 -07:00
__init__.py Add bench_pictures config 2012-12-12 20:13:26 +00:00
add_codereview_message.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
AndroidSkDebugToStdOut.cpp Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
bench_pictures_cfg_helper.py Remove SkTileGrid (except for TileGridInfo). 2015-01-09 06:41:48 -08:00
bench_pictures_main.cpp Revert of Add image as a draw type that can be filtered (patchset #4 id:60001 of https://codereview.chromium.org/960783003/) 2015-03-05 06:33:54 -08:00
bench_pictures.cfg Removes Record configs from buildbot bench_pictures runs. 2014-06-18 05:59:55 -07:00
compare_codereview.py Further tweak compare_codereview.py. 2014-03-25 18:02:17 +00:00
CopyTilesRenderer.cpp Update old tools to allow MultiPictureDraw rendering 2014-10-09 04:59:19 -07:00
CopyTilesRenderer.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
coverage.sh increase coverage of SkPath.cpp, remove unused code 2013-11-14 16:53:22 +00:00
CrashHandler.cpp Remove all code related to NaCl 2015-04-02 12:16:36 -07:00
CrashHandler.h rewrite ambiguous comment 2015-02-10 07:47:31 -08:00
create_test_font.cpp fix bit rotted code to create test font 2015-01-29 09:59:53 -08:00
dm_flags.json Test sp-8888 mode on a few fast bots. 2015-05-07 10:26:44 -07:00
dm_flags.py Test sp-8888 mode on a few fast bots. 2015-05-07 10:26:44 -07:00
doxygen_footer.txt Fix update-doxygen, which fails when skia-autogen is reset 2012-09-26 16:09:43 +00:00
dump_record.cpp Make SkStream *not* ref counted. 2015-01-21 12:09:53 -08:00
DumpRecord.cpp option to return drawable from recording 2014-11-24 14:41:51 -08:00
DumpRecord.h Factor out DumpRecord method from dump_record tool for later use 2014-05-15 16:10:37 +00:00
embed_resources.py Add option to embed font data into executable. 2015-03-30 12:53:48 -07:00
filtermain.cpp Remove SkPictureFlat.h include from SkDrawCommands.h 2015-02-13 11:13:00 -08:00
find_bad_images_in_skps.py Make image decoding more fault resistant, less verbose. 2013-10-04 12:46:45 +00:00
find_run_binary.py Create a common utility for finding and running binaries in out/ 2014-02-07 18:41:49 +00:00
fix_pythonpath.py Use new common tools in Python scripts 2014-06-25 11:13:27 -04:00
gcov_shim add a way to get code coverage 2013-09-13 19:32:43 +00:00
gen_bench_expectations_from_codereview.py gen_bench_expectations: use subprocess instead of shell_utils due to buildbot-side name collision 2014-07-02 12:52:34 -07:00
generate_fir_coeff.py Fix metrics on Windows. 2013-07-27 20:37:56 +00:00
generate_includes_cpp.py fix for the msvs gyp generator that produces nonposix path separators 2014-11-25 08:25:29 -08:00
git-skia-verify Land http://codereview.appspot.com/6117046/ for Guanqun.Lu@gmail.com 2012-04-24 15:19:23 +00:00
git-sync-deps git-sync-deps: handle recursion and deps_os at the same time 2014-08-26 12:06:47 -07:00
gpuveto.cpp Change SkPicture::draw to playback 2014-09-04 08:42:50 -07:00
image_expectations.cpp Add ability to output ImageBaseGSUrl to render_picture and use in rebaseline server. 2014-08-22 04:46:30 -07:00
image_expectations.h Add ability to output ImageBaseGSUrl to render_picture and use in rebaseline server. 2014-08-22 04:46:30 -07:00
imgconv.cpp version 0 of imgconv tool 2014-12-17 13:08:17 -08:00
install_dependencies.sh doc: add quickstart to linux and macos 2015-04-28 13:06:54 -07:00
iOSShell.cpp Landing directly for testing the ios buildbot code. 2015-04-21 08:31:59 -07:00
iOSShell.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
jsondiff.py tools: Remove reference to svndiff. 2014-10-24 17:21:41 -02:00
LazyDecodeBitmap.cpp guarded change to SkImageGenerator to make getInfo() const 2015-03-19 08:31:14 -07:00
LazyDecodeBitmap.h Add the lazy decoder from PictureFlags to SkImageDecoder 2013-07-16 18:21:46 +00:00
lsan.supp Suppress mystery leak. 2014-09-05 10:36:40 -07:00
merge_static_libs.py Build Skia as a static library 2012-10-10 19:45:51 +00:00
mirror-dev.sh Land Ben's 32-bit symlink script. 2015-02-03 10:43:28 -05:00
misc_utils.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
nanobench_flags.json Add presubmit to run {dm,nanobench}_flags.py test when changed. 2015-05-05 10:28:44 -07:00
nanobench_flags.py Blacklist desk_unicodetable SKP on Nexus Player 2015-04-23 12:44:31 -07:00
OverwriteLine.h ios fixes 2014-07-11 12:14:51 -07:00
pathops_sorter.htm Path ops formerly found the topmost unprocessed edge and determined its angle sort order to initialize the winding. This never worked correctly with cubics and was flaky with paths consisting mostly of vertical edges. 2015-05-11 07:21:28 -07:00
pathops_visualizer.htm Path ops formerly found the topmost unprocessed edge and determined its angle sort order to initialize the winding. This never worked correctly with cubics and was flaky with paths consisting mostly of vertical edges. 2015-05-11 07:21:28 -07:00
picture_utils.cpp "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
picture_utils.h skimage, die die die 2014-12-15 12:47:52 -08:00
PictureBenchmark.cpp Update old tools to allow MultiPictureDraw rendering 2014-10-09 04:59:19 -07:00
PictureBenchmark.h Update old tools to allow MultiPictureDraw rendering 2014-10-09 04:59:19 -07:00
PictureRenderer.cpp This replaces the texture creation/caching functions on GrContext with a GrTextureProvider interface. The goal is to pass this narrowly focused object in places that currently take a GrContext but don't need and shouldn't use its other methods. It also has an extended private interface for interacting with non-texture resource types. 2015-04-30 14:18:54 -07:00
PictureRenderer.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
PictureRenderingFlags.cpp remove (unused) GatherPixelRefs 2015-01-22 09:03:25 -08:00
PictureRenderingFlags.h Change the name of SkFlags to SkCommandLineFlags. 2013-03-21 19:43:15 +00:00
PictureResultsWriter.h C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
pinspect.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
ProcStats.cpp Looks like rssPages * pageSize is overflowing on 32-bit Linux... 2015-04-30 07:35:28 -07:00
ProcStats.h DM+nanobench: print both current and max RSS. 2015-04-30 07:11:22 -07:00
reformat-json.py add reformat-json.py script 2013-07-19 15:45:22 +00:00
render_pdfs_main.cpp C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla} 2015-03-25 18:17:32 -07:00
render_pictures_main.cpp remove old text contexts and fontcache 2015-04-28 07:04:11 -07:00
Resources.cpp Move resource fonts to common location. 2015-04-30 17:12:58 -04:00
Resources.h Move resource fonts to common location. 2015-04-30 17:12:58 -04:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -07:00
sanitize_source_files.py Ignore the .git directory in sanitize_source_files, remove .git directory... 2013-09-11 13:01:27 +00:00
sk_tool_utils_flags.h Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
sk_tool_utils_font.cpp Replace SkTypeface::Style with SkFontStyle. 2014-10-20 13:33:19 -07:00
sk_tool_utils.cpp Start canonicalizing color for all A8 textblobs 2015-04-14 12:17:27 -07:00
sk_tool_utils.h Start canonicalizing color for all A8 textblobs 2015-04-14 12:17:27 -07:00
skdiff_html.cpp fix warnings 2013-01-07 22:26:05 +00:00
skdiff_html.h Add newline at end of tools/skdiff_html.h to happify the housekeeping bot 2012-12-05 20:30:00 +00:00
skdiff_image.cpp "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
skdiff_main.cpp add --listfailingbase option 2015-01-06 07:39:55 -08:00
skdiff_utils.cpp use SkData::NewUninitialized 2014-09-12 12:12:27 -07:00
skdiff_utils.h Sanitizing source files in Skia_Periodic_House_Keeping 2012-12-06 02:01:25 +00:00
skdiff.cpp * Extended skdiff to report alpha channel differences. 2013-01-03 19:23:22 +00:00
skdiff.h Fix usage of SK_BUILD_* defines. 2014-10-06 10:46:51 -07:00
skhello.cpp Remove canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul 2014-12-10 07:24:28 -08:00
skpinfo.cpp Bump min picture version. 2014-12-01 06:56:38 -08:00
skpmaker.cpp Try out scalar picture sizes 2014-08-29 08:03:56 -07:00
Stats.h Use __rdtsc on Windows. 2014-07-16 19:59:32 -04:00
test_all.py skimage, die die die 2014-12-15 12:47:52 -08:00
test_font_data_chars.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
test_font_data.cpp Add standard fonts to all GMs. 2014-07-31 08:58:44 -04:00
test_gpuveto.py Remove dashing from gpu veto 2014-06-18 07:34:39 -07:00
test_image_decoder.cpp Runtime configuration setting for suppressing JPEG decoder errors. 2013-10-14 20:08:48 +00:00
test_pdfs.py Add an SKP to PDF rendered. test_pdfs.py will be hooked up in buildbot testing later. 2012-10-10 15:20:34 +00:00
tsan.supp Clean up poppler code. 2015-03-11 11:55:14 -07:00
valgrind.supp widen leak supression. looks like start_keepalive is sometimes inlined. 2015-03-16 15:06:00 -07:00
win_dbghelp.cpp More win64 warning fixes. 2015-01-29 07:44:24 -08:00
win_dbghelp.h Collect minidump and print callstack if an app chrashes. 2013-03-08 18:00:16 +00:00
win_lcid.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-04-03 07:01:14 +00:00
xsan_build simplify tools/xsan_build now that make runs ninja 2014-04-24 18:16:13 +00:00