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

Conflicts:
	include/core/SkFimgApi3x.h
	src/core/SkFimgApi3x.cpp
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 - 03 - Duplicate code removal

Misc: remove some duplicate code

SkAlphaMul does exactly the same thing as the mul function above,
so use it.

BUG=
R=djsollen@google.com

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10070 2bbb7eff-a529-9590-31e7-b0007b416f81
ARM Skia NEON patches - 07 - Equation simplification

Misc: simplify the equation of the exclusion Xfermode

The equation can be dramatically simplified. The results with gm are
the same except that the code is faster.

BUG=
R=djsollen@google.com, reed@google.com, bsalomon@google.com, cabanier@adobe.com

Author: kevin.petit.arm@gmail.com

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

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

Misc: use SK_PMCOLOR_BYTE_ORDER where appropriate

Before SK_PMCOLOR_BYTE_ORDER was introduced, I had written my own
macro for the same purpose. I had at the time spotted these two
places where it seemed to be useful.

The change in SkCreateCGImageRef.cpp may be a bugfix or a bug for the
second occurrence, I'm not sure...

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

Author: kevin.petit.arm@gmail.com

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

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

Misc: fix a PDF warning/bug on ARM

char is unsigned by default on ARM, so the (curNibble < 0) test is
always false, probably leading to a bug.

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

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9954 2bbb7eff-a529-9590-31e7-b0007b416f81
Fix an unused variable warning.

Review URL: https://codereview.chromium.org/12398026

git-svn-id: http://skia.googlecode.com/svn/trunk@7975 2bbb7eff-a529-9590-31e7-b0007b416f81
Add a macro for querying the byte order of SkPMColor.

R=reed@google.com

Author: bsalomon@google.com

Reviewed By: reed@google.com,epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8219 2bbb7eff-a529-9590-31e7-b0007b416f81
Enable SkUtilsArm on all ARM platforms and always use NDK compliant NEON detection on Android.

R=scroggo@google.com

Review URL: https://codereview.chromium.org/22193002

Change-Id: I86dd827c4cd3b05d894d2f45dbfe3afd4b30a1b1
git-svn-id: http://skia.googlecode.com/svn/trunk@10530 2bbb7eff-a529-9590-31e7-b0007b416f81
ARM Skia NEON patches - 11 - Blitter_RGB16

Blitter_RGB16: fixes and improvements

- fix alpha calculation: it was still using the old version of
  SkAlpha255To256. 11 more tests pass in gm.

- clean a lot the code: the existing code was "a bit" messy with
  a lot of duplicated hardcoded constants, got rid of all this.

- improve speed a little: part of it as a side-effect of the change
  in the way alpha is calculated but also by grouping loads and stores.

One "issue" was present and still remains: the NEON code doesn't give
the same result as the black blitter on black. It accounts for dozens
of mismatches in gm. Is this considered "not too bad"? Would you be
interested in a NEON version of the black blitter? The current
comments seem to indicate that the black blitter is here only to give
a performance boost when NEON is not presents so I didn't write a NEON
version.

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

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10635 2bbb7eff-a529-9590-31e7-b0007b416f81
Add memcpy optimization pass for Skia samplers.

Adds an optimization to skia samplers that is using memcpy to copy the
pixels when the source and destination is the same size, unscaled, and
unfiltered.

Change-Id: I014db353e880cf09f3f0b17bbe7bcd2cc2d43d80
Signed-off-by: Henrik Smiding <henrik.smiding@stericsson.com>
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Modify sample buffer size for larger displays.

Modifies the intermediate buffer size for sample pixel indexes, used in the
sample proc function calls. If the buffer is not large enough, the job is split
into several calls. This would impact the performance of SIMD optimizations.

Change-Id: I86848d1c44fe338258b40f6ee6a576289cebd496
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>
Add optimized S16_opaque_D32_nofilter_DX blitter.

Adds an NEON optimized version of Skia sample blitter
S16_opaque_D32_nofilter_DX when running unscaled.
Used when scrolling UI lists.

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