exynos4: fimg2d acceleration

http://git.insignal.co.kr/insignal/origen_quad-jb_mr1.1/android/platform/external/skia/commit/?h=origen_quad-jb_mr1.1&id=7a2cdab99f7a27e2566afbf8c0a2d3ea64c8a375

Change-Id: If605106881540f2170249e6446770ec95b4667b3
skia: exynos4: add support for fimg2d3x

Change-Id: Ie0509e7d537fe2a73b23c30f5128d80ee48c1d7d
Fimg2d3x: fix icon scaling issue with acceleration enabled

 * replace undefined TRUE/FALSE with true/false in SkFimgApi3x.h
 * fix warning in SkFimgApi3x.cpp

Change-Id: Iabaf66df526892f006573c97450fd36f461d9bb2
Fimg2d: set fimg.isFilter in SkDraw::drawBitmap

Set fimg.isFilter from paint.isFilterBitmap() in drawBitmap like
it's done later in drawRect_withG2D.

Change-Id: I8c27933dba28ae8834f02cb1ba66ec58dd2c933c
Skia: Fix build on FIMG2D devices

Change-Id: I83e3787f5a7b61a0e69c0091e04c8ab77c0ea755
skia: Fix Codenomicon image open failure.

Add code to handle 'No image descriptor' case in a gif image format.
Remove goto call.

CRs-Fixed: 333162

(cherrypicked from commit I80d7df9d5f112b5fe32699ce6dd2df0f48323bb1)

Change-Id: I44ff4e0ab681febdb5304b9761a92e6717d4ee2a
Several skia tunings

* Optiming constructor of Paint object
* Special copy path for small object
* Global Language list instead of constructing a new obj everytime.

Change-Id: Ic2ed4488a94e57d7192028ec4c608989837d756e
mirror of https://codereview.appspot.com/7312060/

git-svn-id: http://skia.googlecode.com/svn/trunk@7694 2bbb7eff-a529-9590-31e7-b0007b416f81
Partial reapply of r5364 minus the non-neon code path.

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
ARM Skia NEON patches - 02 - Tune filter clobber list

Misc: reduce clobber list in SkBitmapProcState_filter_neon.h

This may allow the compiler to do a better job

BUG=
R=djsollen@google.com, tomhudson@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://chromiumcodereview.appspot.com/18996003

git-svn-id: http://skia.googlecode.com/svn/trunk@9952 2bbb7eff-a529-9590-31e7-b0007b416f81
ARM Skia NEON patches - 05 - Cleaning

Misc: move definition of empty SkBlitRow::ColorRectProc

For the sake of consistency, the empty SkBlitRow::ColorRectProc
should be defined in SkBlitRow_opts_none.cpp rather than
SkUtils_opts_none.cpp

BUG=
R=djsollen@google.com, reed@google.com, tomhudson@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://chromiumcodereview.appspot.com/18314005

git-svn-id: http://skia.googlecode.com/svn/trunk@9953 2bbb7eff-a529-9590-31e7-b0007b416f81
ARM Skia NEON patches - 13 - S32A_Opaque

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
ARM Skia NEON patches - 14 - S32A_Blend

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
Add optimization of Skia S32A_Opaque blitter

Adds optimization of Skia S32A_Opaque_BlitRow32 blitter using ARM NEON
instruction set. Special cases for when alpha is zero or opaque.
Improves performance platform wide.

Change-Id: I0ffeb23b128e61cfe581ad121f227631d2918686
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Add optimization of Skia S32A_Blend blitter

Adds optimization of Skia S32A_Blend_BlitRow32 blitter using ARM NEON
instruction set. Special cases for when pixel alpha is zero.
Improves performance platform wide.

Change-Id: I6c8bf8a9525838682206ebd139855354d6b3a563
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Add optimized S32A_D565_Opaque_Dither blitter.

Adds optimization of Skia S32A_D565_Opaque_Dither blitter using
ARM NEON instruction set.
Improves performance in browser.

Change-Id: Ie20fb3cf3ad9a60f01b79e3ed2ddba7651bcf013
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Add shader for Clamp_S32_Opaque_D32_filter_DX.

Adds a NEON optimized shader for S32_Opaque_D32_filter_DX when
running with clamped tile mode.
Improves performance of browser and many other applications.

Change-Id: Ic3d83bfd70c8b0c6c956482db5f3a08667655d6e
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Add shader for Clamp_SI8_opaque_D32_filter_DX.

Adds a NEON optimized shader for SI8_opaque_D32_filter_DX when
running with clamped tile mode.
Improves performance of browser.

Change-Id: I0e1fa03d4104210953b7ec81ce10eba5f77459cc
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Add shader for Repeat_SI8_opaque_D32_filter_DX.

Adds a NEON optimized shader for SI8_opaque_D32_filter_DX when
running with repeat tile mode.
Improves performance of browser.

Change-Id: Ic5cc63b3df86eb7e8ea0bbb3b7bddfc73db20025
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Add shader for Clamp_S32_Opaque_D32_nofilter_DX.

Adds an optimized shader for S32_Opaque_D32_nofilter_DX when
running with clamped tile mode.
Improves performance of system and various applications.

Change-Id: I8dd7be24870315b2b8273bf72d9c22eb0aeb97fb
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>