Go to file
Mike Klein f720098671 SkSplicer: lowp hacking
Add lowp variants for most stages in SkSplicer.  These double the number
of pixels handled by representing each channel with 16 bits, ranging from
0x0000 as 0 to 0x8000 as 1.  This format lets us use the Q15 multiply
instructions available in NEON and SSSE3 at full register width, with
a little platform-specific fix up to smooth over the fact that these
aren't quite Q15 values.

When a lowp stage is unavailable, the entire pipeline upgrades to
floats.  So by simply not implementing sRGB, f16, matrix multiplication,
etc, we naturally express that they're best handled with floats.

These lowp stages ended up different enough that I've found it clearer
to have them live in their own files, noting where they differ from the
float stages.  HSW, aarch64, and armv7 are all supported.

I've seen very good things performance-wise on all platforms.

Change-Id: Ib4f820c6665f2c9020f7449a2b51bbaf6c408a63
Reviewed-on: https://skia-review.googlesource.com/7098
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-01-19 21:58:27 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Add -Release ASAN bots. 2017-01-19 20:29:59 +00:00
bin drop depot_tools dependency in bin/fetch-gn 2017-01-12 19:54:50 +00:00
debugger Get Debugger app compiling again 2017-01-06 16:18:27 +00:00
dm Reland https://skia-review.googlesource.com/c/6091/ 2017-01-13 16:07:48 +00:00
example bench, samples, etc: s/SkAutoTUnref/sk_sp/ 2016-11-07 15:17:32 +00:00
experimental Plumb dst color space in many places, rather than "mode" 2016-12-09 20:31:23 +00:00
fuzz move SkTRegister.h into tools 2017-01-11 19:53:36 +00:00
gm explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused 2017-01-19 19:26:21 +00:00
gn Revert "Revert "move device headers to core"" 2017-01-19 21:51:29 +00:00
gyp rm -r {include,src}/animator 2017-01-12 19:52:18 +00:00
include Revert "Revert "move device headers to core"" 2017-01-19 21:51:29 +00:00
infra Add -Release ASAN bots. 2017-01-19 20:29:59 +00:00
platform_tools Add support for 64-bit devices when using gdb on Android 2017-01-06 19:57:05 +00:00
resources Use fixed size buffer for RLE bmps 2017-01-19 14:21:02 +00:00
samplecode Fix code that relied on readPixels not doing color space conversion 2017-01-17 21:53:57 +00:00
site Update Buildbot doc for Task Scheduler 2017-01-17 14:54:12 +00:00
src SkSplicer: lowp hacking 2017-01-19 21:58:27 +00:00
tests Fix reset and deleting behavior. 2017-01-19 20:34:36 +00:00
third_party SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h 2017-01-11 18:55:34 +00:00
tools remove clipstack from lua -- deprecated 2017-01-19 20:07:03 +00:00
.clang-format Mark flatennable macros as block beginning/ending in .clang-format 2017-01-09 15:31:36 +00:00
.gitignore drop depot_tools dependency in bin/fetch-gn 2017-01-12 19:54:50 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Fix typo in GrGLCaps 2016-11-18 23:20:51 +00:00
BUILD.gn Fix Android roll 2017-01-13 21:17:05 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Get latest ANGLE as of January 6, 2017 2017-01-11 15:12:40 +00:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
gyp_skia Make Win runtime DLLs writeable before overwriting 2016-03-18 08:33:38 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Add hcm@ to public API owners 2017-01-19 17:36:06 +00:00
public.bzl remove SK_SUPPORT_LEGACY_CANVAS_GETCLIPSTACK from public.bzl 2017-01-19 19:08:14 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
skia.gyp Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
whitespace.txt Test PG 2017-01-17 13:46:11 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.