Go to file
kevin.petit 866b95d65d ARM Skia NEON patches - 38 - arm64 8888 blitters
Enable NEON on arm64 for most 8888 blitters

This patch enables NEON optimisation for the Color32, S32_Blend,
S32A_Opaque blitters on arm64.

Here are the perf improvements vs the existing code:

Color32:
========

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |     -2.39% |     23.78% |
+-------+------------+------------+
|     2 |     -5.46% |      8.88% |
+-------+------------+------------+
|     4 |     -4.74% |      4.89% |
+-------+------------+------------+
|     8 |     67.74% |    107.12% |
+-------+------------+------------+
|    16 |     40.03% |    101.20% |
+-------+------------+------------+
|    64 |     11.09% |     98.40% |
+-------+------------+------------+
|   256 |     -2.20% |     74.81% |
+-------+------------+------------+
|  1024 |     -4.28% |     78.90% |
+-------+------------+------------+

S32_Blend:
==========

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |      7.84% |     -6.75% |
+-------+------------+------------+
|     2 |     28.95% |     39.77% |
+-------+------------+------------+
|     4 |      5.80% |      8.26% |
+-------+------------+------------+
|     8 |      1.35% |     33.80% |
+-------+------------+------------+
|    16 |     -2.13% |     41.13% |
+-------+------------+------------+
|    64 |     -4.91% |     42.84% |
+-------+------------+------------+
|   256 |     -6.53% |     48.72% |
+-------+------------+------------+
|  1024 |     -6.65% |     46.66% |
+-------+------------+------------+

S32A_Opaque:
============

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |     -7.51% |    -19.06% |
+-------+------------+------------+
|     2 |     -5.02% |    -27.70% |
+-------+------------+------------+
|     4 |     15.38% |    -21.66% |
+-------+------------+------------+
|     8 |     -0.98% |      1.05% |
+-------+------------+------------+
|    16 |     -7.35% |      3.34% |
+-------+------------+------------+
|    64 |     50.53% |     94.63% |
+-------+------------+------------+
|   256 |     71.17% |    164.10% |
+-------+------------+------------+
|  1024 |     79.58% |    197.60% |
+-------+------------+------------+

Signed-off-by: Kevin PETIT <kevin.petit@arm.com>

BUG=skia:
R=djsollen@google.com, mtklein@google.com

Author: kevin.petit@arm.com

Review URL: https://codereview.chromium.org/302283003
2014-06-03 10:08:07 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Clean up another silly race in benches when run concurrently. 2014-06-02 18:22:12 -07:00
debugger Sanitizing source files in Housekeeper-Nightly 2014-05-20 03:05:34 +00:00
dm add --dryRun flag to dm 2014-05-30 17:23:31 +00:00
docs warn that docs/quickstart.md is out of sync with official docs 2014-04-21 19:18:46 +00:00
expectations Update SKP version to 16 2014-06-03 09:38:11 -07:00
experimental Fix etc1 support for SkFiddle. 2014-06-03 09:04:44 -07:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Fix memory leak in etc1bitmap GM. 2014-06-03 09:04:34 -07:00
gyp ARM Skia NEON patches - 38 - arm64 8888 blitters 2014-06-03 10:08:07 -07:00
include Remove legacy picture recording 2014-06-03 10:04:47 -07:00
platform_tools Update expectations to fix self tests. 2014-06-02 13:34:08 -07:00
resources Adding resource files 2014-06-02 15:18:27 -04:00
samplecode remove unneeded inval 2014-06-02 14:41:24 -07:00
src ARM Skia NEON patches - 38 - arm64 8888 blitters 2014-06-03 10:08:07 -07:00
tests Remove legacy picture recording 2014-06-03 10:04:47 -07:00
third_party Simple PKM image decoder. 2014-05-22 18:40:29 +00:00
tools Revert of Try TSAN blacklist for SkGLContextHelper::init. (https://codereview.chromium.org/309823004/) 2014-06-02 19:34:20 -07:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore BugChomper: Get the oauth_client_secret from GS 2014-05-13 19:18:55 +00:00
AUTHORS Fixed Skia compilation error with strict clang. 2014-04-07 13:12:47 +00:00
codereview.settings Use googlesource VIEW_VC in codereview.settings 2014-06-02 05:20:32 -07:00
CONTRIBUTING Add CONTRIBUTING file 2014-01-13 15:06:26 +00:00
CQ_COMMITTERS Adds kelvinly@google.com to CQ_COMMITTERS 2014-05-13 17:33:56 +00:00
DEPS Since we're only using it on Linux now, just require poppler as a system dependency. 2014-05-20 15:07:53 +00:00
Doxyfile delete no-longer-used update-doxygen.sh 2014-05-15 14:41:00 +00:00
gyp_skia Add a dry-run option to gyp_skia. 2014-05-09 15:04:18 +00:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Make make.bat and gyp_skia work with VS 2012. 2013-05-07 19:31:20 +00:00
make.py Don't try to remove xcodebuild directory on Windows. 2014-05-22 15:54:05 +00:00
Makefile simplify tools/xsan_build now that make runs ninja 2014-04-24 18:16:13 +00:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Check if the issue owner is in the AUTHORS file in PRESUBMIT.py 2014-02-03 14:18:32 +00:00
README Point to skiadocs in our README. 2014-05-09 04:30:09 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SKP_VERSION Update SKP version to 16 2014-06-03 09:38:11 -07:00
whitespace.txt Whitespace change to test multiple master support in CQ 2014-06-03 06:30:09 -07:00

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

See full details, and build instructions, at https://sites.google.com/site/skiadocs/home