Go to file
mtklein defa0daa6a Clean up SkXfermode_opts.h
It seems that MSVC + __vectorcall don't play well together,
so back ourselves out into a situation where we don't need it.

   - Inline transfermode functions.  This removes the need for SK_VECTORCALL.
   - Remove 565 destination specializations.
     Blending into 565 is not speed-critical enough to merit the code bloat.
   - Removing 565 specializations means a bunch of Sk4px code is now dead.

8888 xfermodes generally speed up a bit from inlining, smoothly ranging from no change down to 0.65x for the fastest functions like Plus or Modulate.

565 xfermodes generally slow down because we're doing 565 -> 8888 and 8888->565 conversion serially[1] and using the stack, smoothly ranging from no change up to 2x slower for the fastest functions like Plus and Modulate.

[1] the 565->8888 conversion is actually being autovectorized

BUG=skia:4765,skia:4776
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1565223002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1565223002
2016-01-08 11:45:21 -08:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench test+bench new swizzle SkOpts 2016-01-08 06:32:52 -08:00
bin bin/sync-and-gyp: sh->py (make more cross-platform) 2015-11-09 08:28:13 -08:00
cmake cmake: set SK_RELEASE to 0 if not a Release build 2016-01-07 06:56:12 -08:00
debugger default SkPixelSerializer 2015-12-10 12:40:23 -08:00
dm DM: more invariants 2016-01-08 10:19:35 -08:00
example Create a standalone example for using Skia with SDL 2015-11-13 11:22:19 -08:00
experimental SampleApp: remove Picture_DeviceType 2016-01-05 00:04:33 -08:00
gm don't leak test filters and shaders 2016-01-07 17:56:33 -08:00
gyp Create stub GrAuditTrail class 2016-01-08 07:19:47 -08:00
include Clean up SkXfermode_opts.h 2016-01-08 11:45:21 -08:00
infra Add Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release to the CQ 2016-01-06 10:54:50 -08:00
platform_tools Android bots: set battery threshold to 80% 2016-01-04 12:33:26 -08:00
resources demo tweaks, scale up perlin, add call to flush for fps 2015-11-09 13:10:30 -08:00
samplecode remove MPD for now, to simplify things 2016-01-08 08:23:19 -08:00
site Documentation: FAQ TOC 2015-12-22 07:08:12 -08:00
src Clean up SkXfermode_opts.h 2016-01-08 11:45:21 -08:00
tests unify how canvas checks for null on skia objects (images, blobs, pictures) 2016-01-08 09:18:44 -08:00
third_party Disable ES2 on Linux SDL 2015-12-28 08:44:27 -08:00
tools DM: more invariants 2016-01-08 10:19:35 -08:00
.gitignore android/apps: Add CanvasProof App; 2015-09-23 12:40:34 -07:00
AUTHORS use malloc/calloc/free instead of moz_malloc/moz_calloc/moz_free in ports/SkMemory_mozalloc.cpp 2015-11-23 10:30:14 -08:00
BUILD.public Remove codecs and images from iOS Bazel build. 2016-01-07 07:11:39 -08:00
codereview.settings Automatically add a docs preview link and NOTRY=true when there are only docs changes. 2015-02-26 10:16:13 -08: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 Cherry pick one more commit into libjpeg-turbo 2015-11-24 07:14:35 -08:00
Doxyfile Documentation: SkCanvas API 2015-05-19 10:21:29 -07:00
gyp_skia Support SKIA_OUT on Mac and ChromeOS 2015-05-04 08:04:28 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Include resources directory in google3 sync. 2015-10-20 13:00:48 -07:00
make.bat Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
make.py GYP: remove stale skia_scalar gyp variable 2015-11-10 13:25:12 -05:00
Makefile Add visualbench as valid target to Makefile 2015-12-18 08:05:06 -08:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Add link to Gold trybot runs in every uploaded Skia CL 2015-12-15 06:23:33 -08: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
SKP_VERSION Update SKP version 2016-01-03 00:36:36 -08:00
whitespace.txt Whitespace change to trigger bots after gsutil change 2015-11-24 11:36:09 -08:00

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

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