Go to file
mtklein 5d2117015e AVX 2 SrcOver blits: color32, blitmask.
As a follow up to the SSE 4.1 CL, this should look pretty familiar.

I've made some organizational changes around how we load, store, pack, and unpack data that I think makes things clearer and more orthogonal, and it'll make it easier to try out a pmaddubsw lerp.  I have backported these changes to the SSE 4.1 code, and I hope that I can actually get a lot of this code templated for sharing between the two later.

Perf changes (relative to SSE 4.1):
Xfermode_SrcOver:      1650 -> 1180  (0.71x)  // large opaque blit
Xfermode_SrcOver_aa:   1794 -> 1653  (0.92x)  // large opaque + small transparent
text_16_AA_{FF,BK,WT}: 1.72 -> 1.59  (0.92x)  // small opaque blit
text_16_AA_88:         1.83 -> 1.77  (0.97x)  // small transparent blit

This should be a big throughout win, and a small latency win.
This should all be pixel-exact to the previous SSE 4.1 code.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532613002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1532613002
2016-01-25 08:37:30 -08:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Use NEON optimizations for RGB -> RGB(FF) or BGR(FF) in SkSwizzler 2016-01-22 09:54:21 -08:00
bin bin/sync-and-gyp: sh->py (make more cross-platform) 2015-11-09 08:28:13 -08:00
cmake Fix CMake build on Mac. 2016-01-21 17:38:36 -05:00
debugger Revert of Add gpu implementation of OverdrawXfermode (patchset #6 id:100001 of https://codereview.chromium.org/1607253002/ ) 2016-01-22 06:53:57 -08:00
dm Add RAW decoding into Skia. 2016-01-25 08:26:16 -08:00
example SampleApp: Remove SkWindow::setColorType 2016-01-18 01:18:35 -08:00
experimental SampleApp: Remove SkWindow::setColorType 2016-01-18 01:18:35 -08:00
fuzz Change name from ScaleToSides to SkScaleToSides. 2016-01-22 11:58:55 -08:00
gm fix arcto exception handling 2016-01-25 05:39:04 -08:00
gyp AVX 2 SrcOver blits: color32, blitmask. 2016-01-25 08:37:30 -08:00
include Add RAW decoding into Skia. 2016-01-25 08:26:16 -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 SampleApp: remove SkWindow::onPDFSaved, it does not work 2016-01-18 00:47:14 -08:00
resources Add RAW decoding into Skia. 2016-01-25 08:26:16 -08:00
samplecode replace arcto quads with a conic 2016-01-20 11:55:11 -08:00
site Fix patch check-in instructions for non-committers 2016-01-19 13:57:27 -08:00
src AVX 2 SrcOver blits: color32, blitmask. 2016-01-25 08:37:30 -08:00
tests Add RAW decoding into Skia. 2016-01-25 08:26:16 -08:00
third_party Disable ES2 on Linux SDL 2015-12-28 08:44:27 -08:00
tools First rough draft of skiaserve 2016-01-22 11:21:43 -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
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 Add RAW decoding into Skia. 2016-01-25 08:26:16 -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
public.bzl Reland of Move BUILD.public to public.bzl. (patchset #1 id:1 of https://codereview.chromium.org/1580923002/ ) 2016-01-13 10:45:19 -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
SK_IMAGE_VERSION Add version number to images tested in DM 2016-01-21 09:32:58 -08: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-17 00:54:04 -08:00
whitespace.txt Whitespace change to test SK_IMAGE_VERSION download 2016-01-25 05:00:13 -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.