aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/opts/SkBlitRow_opts_arm_neon.cpp
Commit message (Collapse)AuthorAge
...
* ARM Skia NEON patches - 23 - S32_D565_Opaque_Dither cleanup/bugfix/speedGravatar commit-bot@chromium.org2013-09-18
| | | | | | | | | | | | | | | | | | | | | | | BlitRow565: S32_D565_Opaque_Dither: cleaning / bugfix This patch brings a little code cleaning (spaces/comments) and a little speed improvement (by using post-incrementation in the asm) but more importantly it fixes a bug on Linux. The new code now supports ARGB as well as ABGR. I removed the comment as I have confirmed with benchmarks that this code bring a *massive* (3x-7x) speedup compared to the C code. Signed-off-by: Kévin PETIT <kevin.petit@arm.com> BUG= R=djsollen@google.com, mtklein@google.com Author: kevin.petit.arm@gmail.com Review URL: https://chromiumcodereview.appspot.com/22269003 git-svn-id: http://skia.googlecode.com/svn/trunk@11339 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup the ARM blitrow optimizationsGravatar djsollen@google.com2013-08-09
| | | | | | | | R=mtklein@google.com Review URL: https://codereview.chromium.org/22229002 git-svn-id: http://skia.googlecode.com/svn/trunk@10652 2bbb7eff-a529-9590-31e7-b0007b416f81
* ARM Skia NEON patches - 14 - S32A_BlendGravatar commit-bot@chromium.org2013-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blitrow32: S32A_Blend new NEON version Adding a NEON version of S32A_Blend_BlitRow32. Here are the benchmark results: +-------+--------------------------+--------------------------+ | | Speedup vs. C | Speedup vs. ARM asm | | count +------------+-------------+------------+-------------+ | | Cortex A-9 | Cortex A-15 | Cortex A-9 | Cortex A-15 | +-------+------------+-------------+------------+-------------+ | 1 | +8,5% | +18,5% | +0.9% | +2,9% | +-------+------------+-------------+------------+-------------+ | 2 | +65,6% | +94% | +70,3% | +80% | +-------+------------+-------------+------------+-------------+ | 4 | +42,4% | +87,8% | +56,8% | +84,4% | +-------+------------+-------------+------------+-------------+ | 8 | +30% | +90% | +49,9% | +82,7% | +-------+------------+-------------+------------+-------------+ | 16 | +23,1% | +95,4% | +46,6% | +87,6% | +-------+------------+-------------+------------+-------------+ | 64 | +23,1% | +95,7% | +46,1% | +89,4% | +-------+------------+-------------+------------+-------------+ | 256 | +35,5% | +122% | +53,6% | +99,2% | +-------+------------+-------------+------------+-------------+ | 1024 | +61,8% | +101% | +64,2% | +91,2% | +-------+------------+-------------+------------+-------------+ BUG= R=djsollen@google.com Author: kevin.petit.arm@gmail.com Review URL: https://chromiumcodereview.appspot.com/18614010 git-svn-id: http://skia.googlecode.com/svn/trunk@10480 2bbb7eff-a529-9590-31e7-b0007b416f81
* ARM Skia NEON patches - 01 - Simple fixesGravatar commit-bot@chromium.org2013-07-15
| | | | | | | | | | | | | | | | | | | | | | | | This series contains a few fairly non-controversial fixes. Misc: remove dead references to neon 4444 functions Misc: avoid the double _neon_neon suffix in the clamp matrix functions. MAKENAME already adds the _neon suffix Misc: a few stupid / obvious fixes BUG= R=djsollen@google.com Author: kevin.petit.arm@gmail.com Review URL: https://chromiumcodereview.appspot.com/18666004 git-svn-id: http://skia.googlecode.com/svn/trunk@10072 2bbb7eff-a529-9590-31e7-b0007b416f81
* ARM Skia NEON patches - 13 - S32A_OpaqueGravatar commit-bot@chromium.org2013-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blitrow32: S32A_Opaque code cleaning and speed improvement - the old way of calculating alpha doesn't seem to be used anymore, so remove the remaining code - adding prefetching allows to improve performance greatly in some cases at the expense of a little trade-off: +-------+-----------+------------+ | count | Cortex-A9 | Cortex-A15 | +-------+-----------+------------+ | 1,2 | 0 | 0 | +-------+-----------+------------+ | 4 | 0 | -3% | +-------+-----------+------------+ | 8 | 0 | -4% | +-------+-----------+------------+ | 16 | 0 | -5% | +-------+-----------+------------+ | 64 | +14% | 0 | +-------+-----------+------------+ | 256 | +14% | +12% | +-------+-----------+------------+ | 1024 | +115% | +15% | +-------+-----------+------------+ BUG= R=djsollen@google.com Author: kevin.petit.arm@gmail.com Review URL: https://chromiumcodereview.appspot.com/18459008 git-svn-id: http://skia.googlecode.com/svn/trunk@10026 2bbb7eff-a529-9590-31e7-b0007b416f81
* Partial reapply of r5364 minus the non-neon code path.Gravatar djsollen@google.com2013-04-09
| | | | | | | | See https://codereview.appspot.com/6465075 for a more detailed description of the contents of this CL. Review URL: https://codereview.chromium.org/13060004 git-svn-id: http://skia.googlecode.com/svn/trunk@8579 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix errors when compiling with -Wall -Werror on Android.Gravatar djsollen@google.com2013-02-07
| | | | | | | | This CL also turns those features on by default on Android Review URL: https://codereview.appspot.com/7313049 git-svn-id: http://skia.googlecode.com/svn/trunk@7645 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r5364 (Update ARM and NEON optimizations for S32A_Opaque_BlitRow32)Gravatar robertphillips@google.com2012-09-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5378 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update ARM and NEON optimizations for S32A_Opaque_BlitRow32.Gravatar djsollen@google.com2012-08-31
| | | | | | | | These patches replace those written by ARM with ones provided by NVidia. Review URL: https://codereview.appspot.com/6465075 git-svn-id: http://skia.googlecode.com/svn/trunk@5364 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* arm: dynamic NEON support for SkBlitRow_opts_arm.cppGravatar digit@google.com2012-08-08
This patch moves all NEON-specific code from the source src/opts/SkBlitRow_opts_arm.cpp into a new file that is built as part of the 'opts_arm_neon' static library. Review URL: https://codereview.appspot.com/6449110 git-svn-id: http://skia.googlecode.com/svn/trunk@5016 2bbb7eff-a529-9590-31e7-b0007b416f81