skia2/tools
Kevin Lubick a1c2117004 [canvaskit] Add drawRect4f as example 'fast path' API
I added 3 tests, one using the drawRect API naively,
one using drawRect with a Malloc'd array, and one using
the drawRect4f.

rough local measurements:
 - [baseline with tip of tree code]: 50ms
 - naive drawRect: 40ms
 - drawRect with malloc: 28ms
 - drawRect4f: 27ms

I also tried the benchmarks locally with taking in paint
as a const reference. I did not see any changes, but that
could just be small sample size. I plan to land the code
as is for now, collect a bit of data in Perf and then try
landing the const reference stuff and see if we get
something measurable.

To aid this, I added in a helper list of tests to only run
some benchmarks easily.

Change-Id: I2d8c5296e93f05be45fc12059955fb9d9e339d83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315143
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-09-03 14:53:42 +00:00
..
android [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
calmbench [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
copyright Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
debugger Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
doxygen Remove more references to "master" 2020-07-28 13:06:07 +00:00
fiddle Only expose isConvex on path publicly. 2020-08-28 16:56:29 +00:00
flags Add config "glesfakev2". It runs GLES with the version faked as 2. 2020-08-26 20:04:34 +00:00
fm add a global may-we-JIT flag 2020-08-05 16:35:45 +00:00
fonts Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
gdb Update gdb bitmap viewer. 2018-06-20 21:24:27 +00:00
gpu Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
infra [infra] Use "mod download" and "install", not "get" in chrome_release_branch 2019-12-06 11:16:41 +00:00
lottie-web-perf HTML typo egde => edge 2020-06-19 15:12:06 +00:00
lottiecap HTML typo egde => edge 2020-06-19 15:12:06 +00:00
lua Enable ClangTidy check readability-redundant-smartptr-get. 2020-08-16 15:56:48 +00:00
malisc Extend --writeShaders to output SPIR-V 2019-04-15 14:04:18 +00:00
mdbviz Reland "Merge GrOpList and GrRTOpList and rename to GrOpsTask." 2019-08-22 20:52:09 +00:00
perf-canvaskit-puppeteer [canvaskit] Add drawRect4f as example 'fast path' API 2020-09-03 14:53:42 +00:00
rebaseline [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
sk_app Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
skdiff Revert "Remove custom SkSort algorithms." 2020-07-14 00:25:05 +00:00
skiaserve Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
skottie_ios_app Update iOS Skottie App for GrContext changes 2020-08-14 12:55:56 +00:00
skottie-wasm-perf Reland "[canvaskit] Change SkRects to be arrays, not objects." 2020-09-03 14:31:38 +00:00
skp Change URL in skia_css3gradients_desktop.py 2020-06-18 15:36:18 +00:00
skpbench Revert "Add idea of DataType to SkYUVAPixmapInfo." 2020-09-02 21:26:39 +00:00
skqp Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
skui Enable ClangTidy check llvm-namespace-comment. 2020-08-06 19:07:52 +00:00
svg [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
timer Adapt GrRectBlur for cases with rect W/H less than six sigma. 2019-09-10 14:39:07 +00:00
trace Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
viewer Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
__init__.py
abandon_gerrit_cls.py Add wrapper script to call tool to bulk abandon Gerrit CLs 2020-03-11 18:50:57 +00:00
add_codereview_message.py
AndroidSkDebugToStdOut.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
AutoreleasePool.h Reland "Added AutoreleasePool for managing pool memory in testing apps." 2019-05-31 15:40:01 +00:00
AutoreleasePool.mm Reland "Added AutoreleasePool for managing pool memory in testing apps." 2019-05-31 15:40:01 +00:00
BigPathBench.inc
blob_cache_sim.cpp SkRemoteGlyphCache Add tracing to diff canvas 2019-10-24 17:09:31 +00:00
build_command_buffer.py
BUILD_simulator.py
build_workaround_header.py Add CheckGeneratedFiles recipe check for gpu workarounds 2018-04-25 19:26:27 +00:00
check-headers-self-sufficient rm SkPreConfig.h and SkPostConfig.h 2020-02-06 19:16:43 +00:00
chrome_fuzz.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
chrome_release_branch [infra] Add chrome_release_branch script 2019-04-16 19:46:10 +00:00
chrome_release_branch.bat [infra] Add chrome_release_branch script 2019-04-16 19:46:10 +00:00
chrome_release_branch.py [infra] chrome_release_branch: maintain the last 3 branches 2020-05-13 18:13:13 +00:00
clang-tidy.sh don't run clang-tidy on third_party 2020-03-30 15:26:32 +00:00
compare_codereview.py
convert-to-nia.cpp Add convert-to-nia command-line program 2020-05-28 15:08:08 +00:00
cpu_modules.cpp Particle cleanup: split SkParticleBinding out of SkParticleEffect 2019-08-30 15:32:38 +00:00
CrashHandler.cpp SKQP Build for Fuchsia SDK 2019-11-18 12:34:28 +00:00
CrashHandler.h
DDLPromiseImageHelper.cpp Revert "Add idea of DataType to SkYUVAPixmapInfo." 2020-09-02 21:26:39 +00:00
DDLPromiseImageHelper.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
DDLTileHelper.cpp Remove unused factories that take characterizations. 2020-08-26 21:29:44 +00:00
DDLTileHelper.h Retract GrContext.h from headers 2020-07-13 20:03:58 +00:00
doxygen_footer.txt
dump_record.cpp densify dump_record 2020-08-19 13:35:09 +00:00
embed_resources.py Tweak scripts to fix CK builds with python 3 2020-06-29 12:59:05 +00:00
find_run_binary.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
fix_pythonpath.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
force_older_glibc_math.h roll cast toolchain 2019-08-15 20:02:18 +00:00
gcov_shim
get_current_monitor_profile.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
get_images_from_skps.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
git-sync-deps tools/git-sync-deps works with either python 2020-01-10 16:30:11 +00:00
HashAndEncode.cpp support 16161616 in fm 2020-07-17 20:35:33 +00:00
HashAndEncode.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
hello-opencl.cpp run all available OpenCL devices 2019-02-11 21:29:33 +00:00
image_diff_metric.cpp pdf-comparison and image_diff_metric tools 2019-09-19 21:18:28 +00:00
imgcvt.cpp Move skcms.h to include/third_party/skcms 2019-04-29 15:02:45 +00:00
install_dependencies.sh Add harfbuzz to tools/install_dependencies.sh 2019-05-03 23:52:09 +00:00
ios_utils.h
ios_utils.m rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
jsondiff.py Fix pylint check in presubmit 2018-06-22 14:38:28 +00:00
list_gms.cpp gm: GMFactory returns a unique_ptr<> 2019-08-12 19:02:40 +00:00
list_gpu_unit_tests.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
LsanSuppressions.cpp stifle leaks in terminator_CreateDevice() 2020-04-08 15:28:48 +00:00
merge_static_libs.py
milestone.py
mirror-dev.sh
misc_utils.py
OverwriteLine.h
parse_llvm_coverage.py
pathops_sorter.htm fix pathops bug 8380 2018-12-21 19:15:54 +00:00
pathops_visualizer.htm fix pathops bug 8380 2018-12-21 19:15:54 +00:00
ProcStats.cpp Add heap usage of SkSL::Compiler to nanobench output 2020-07-09 00:05:28 +00:00
ProcStats.h Add heap usage of SkSL::Compiler to nanobench output 2020-07-09 00:05:28 +00:00
public_headers_warnings_check.cpp
random_parse_path.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
random_parse_path.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
reformat-json.py
Registry.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
remote_demo.cpp Enable ClangTidy check readability-redundant-smartptr-get. 2020-08-16 15:56:48 +00:00
ResourceFactory.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Resources.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Resources.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
retrieve_from_googlesource.py [minor] mark scripts as executable 2019-11-21 17:06:27 +00:00
rewrite_includes.py renable SkM44.h checks 2020-02-26 14:54:55 +00:00
sanitize_source_files.py
skhello.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkMetaData.cpp Move fontmgr_bounds labels to tight bounds 2020-08-24 15:02:44 +00:00
SkMetaData.h Move fontmgr_bounds labels to tight bounds 2020-08-24 15:02:44 +00:00
skottie2movie.cpp Use ContextInfo::directContext() in skottie2movie.cpp 2020-07-07 12:39:22 +00:00
skp_parser.cpp Remove an uncessary and unused parameter for partially generating the JSON command list 2019-12-13 19:30:03 +00:00
skpinfo.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSharingProc.cpp Reland "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger." 2019-06-21 15:49:21 +00:00
SkSharingProc.h Reland "Deserialize MultiPictureDocument based SKP files (with image sharing proc) in wasm debugger." 2019-06-21 15:49:21 +00:00
SkVMBuilders.cpp remove i16x2 ops 2020-04-13 19:08:11 +00:00
SkVMBuilders.h remove i16x2 ops 2020-04-13 19:08:11 +00:00
Stats.h Update SkTQSort to use half-open ranges. 2020-07-14 22:13:59 +00:00
test_all.py
test_pdfs.py
ToolUtils.cpp use pathbuilder 2020-08-25 16:29:48 +00:00
ToolUtils.h use pathbuilder 2020-08-25 16:29:48 +00:00
UrlDataManager.cpp begin refactoring SkTDynamicHash and SkTMultiMap 2020-03-16 14:06:30 +00:00
UrlDataManager.h Enable ClangTidy check readability-redundant-smartptr-get. 2020-08-16 15:56:48 +00:00
using_skia_and_harfbuzz.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
valgrind.supp Add another make_get_error_with_random_oom valgrind suppression 2020-06-24 22:15:33 +00:00
win_dbghelp.cpp Remove "dummy" to comply with Android's inclusive language guidance 2020-07-31 19:11:23 +00:00
win_dbghelp.h
win_lcid.cpp Move SkTSearch.h into src. 2019-05-15 14:15:07 +00:00
xsan.supp rename tools/xsan.blacklist 2020-07-24 18:12:31 +00:00