skia2/tools
Brian Salomon 0a0304c426 Add experimental API to draw a set of SkImages in one SkCanvas call.
The client provides a src and dst rect for each image as well as
a bitfield that indicates whether each edge of the image should be
antialiased. This per-edge AA is useful for tiled compositors.

Rather than take a full SkPaint this API only takes an alpha, a filter
quality (which is pinned to kLow), and a blend mode. This is a likely
point of future evolution.

Currently the API is only fully implemented for kSrcOver on the GPU
backend. With other blend modes or on other backends AA will be ignored
for images that do not have all four edge AA flags set.

BUG: skia:8444

Change-Id: I143998dda8ad6a25f64e18cd600392ba553030ac
Reviewed-on: https://skia-review.googlesource.com/c/159062
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-10-12 13:14:24 +00:00
..
android Reuse more upload_to_android and allow removing flag on Android 2017-10-31 14:37:14 +00:00
bookmaker bookmaker fix build again 2018-10-08 21:10:46 +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 Add experimental API to draw a set of SkImages in one SkCanvas call. 2018-10-12 13:14:24 +00:00
fiddle SkDocument: Factories now located in SkPDFDocument.h and SkXPSDocument.h 2018-09-20 18:21:07 +00:00
flags Add reduceOpListSplitting flag 2018-10-10 14:12:08 +00:00
fonts test,tools: whitespace changes for clang-format 2018-09-19 17:50:51 +00:00
gdb Update gdb bitmap viewer. 2018-06-20 21:24:27 +00:00
gpu Cleanup resource flags 2018-09-27 23:40:23 +00:00
lottiecap [LottieWeb] Fix frames 2018-08-29 17:58:42 +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 Better optimize our use of memory barriers in vulkan. 2018-10-09 16:24:53 +00:00
skdiff Revert "SkStream: remove some WStream functions from public api" 2018-09-06 12:22:41 +00:00
skiaserve Remove SkPM4fPriv.h includes, then IWYU 2018-09-28 15:17:04 +00:00
skp Omit "espn" from key_mobile_sites_smooth in RecreateSKPs bot 2018-05-20 14:53:16 +00:00
skpbench test,tools: whitespace changes for clang-format 2018-09-19 17:50:51 +00:00
skqp SkQP: update script tools/skqp/make_universal_apk 2018-10-04 18:00:22 +00:00
svg Remove internal files from externally visible markdown documentation 2018-01-10 13:25:19 +00:00
timer remove DM timestamps 2018-10-02 14:49:23 +00:00
trace Optimize the size of our JSON 2017-08-17 11:51:26 +00:00
viewer re-precate SkMatrix44::SkMatrix44() 2018-10-04 14:01:11 +00:00
__init__.py Add bench_pictures config 2012-12-12 20:13:26 +00:00
add_codereview_message.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
AndroidSkDebugToStdOut.cpp Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
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 Further tweak compare_codereview.py. 2014-03-25 18:02:17 +00:00
CrashHandler.cpp GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
CrashHandler.h rewrite ambiguous comment 2015-02-10 07:47:31 -08:00
DDLPromiseImageHelper.cpp Make SkYUVAIndex publicly accessible 2018-10-04 14:14:23 +00:00
DDLPromiseImageHelper.h Test YUV images in DDL 2018-10-01 12:12:29 +00:00
DDLTileHelper.cpp Add GM for less common YUV formats (take 2) 2018-10-03 17:22:02 +00:00
DDLTileHelper.h Revert "Fix bug in GM's DDL drawing mode" 2018-09-26 21:18:28 +00: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 test,tools: whitespace changes for clang-format 2018-09-19 17:50:51 +00:00
DumpRecord.cpp clean up SkPicture include 2018-06-12 13:56:33 +00: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
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
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
imgcvt.cpp add profile->profile mode to imgcvt 2018-09-06 18:54:19 +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 Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
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 remove scaling from pathops 2018-08-30 17:36:05 +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 add reformat-json.py script 2013-07-19 15:45:22 +00:00
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 Remove unused Options parameter from SkImageGenerator::getPixels 2018-10-04 18:22:12 +00:00
Resources.h Change SkTypeface::MakeFromStream to take unique_ptr 2018-09-04 15:24:12 +00:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -07:00
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 Remove a bunch of unused files and functions 2018-10-08 18:55:27 +00:00
sk_tool_utils.h Remove a bunch of unused files and functions 2018-10-08 18:55:27 +00:00
skhello.cpp SkDocument: Factories now located in SkPDFDocument.h and SkXPSDocument.h 2018-09-20 18:21:07 +00:00
SkJSONCPP.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
skp_parser.cpp test,tools: whitespace changes for clang-format 2018-09-19 17:50:51 +00:00
skpinfo.cpp Revert "Revert "SkTypes: extract SkTo"" 2018-06-14 14:55:17 +00:00
Stats.h only build stats bar chart when it'll be printed 2018-09-27 16:22:54 +00:00
test_all.py skimage, die die die 2014-12-15 12:47:52 -08: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
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 SkDocument: Factories now located in SkPDFDocument.h and SkXPSDocument.h 2018-09-20 18:21: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 test,tools: whitespace changes for clang-format 2018-09-19 17:50:51 +00: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