Assembly optimized 4 blittering related functions:

S32A_D565_Opaque
S32A_Opaque_BlitRow32
nofilter_gether
S32A_Blend_BlitRow32

* S32A_D565_Opaque:

Use neon instructions to optimize BLIT routine which operates on
32-bit source ARGB pixel and 16-bit destination RGB pixel. Here,
we process 16-pixels in an iteration. We use regular (32-bit)
arm instructions when number of pixels is less than 16 or the
architecture doesn't support SIMD/NEON instructions. When alpha
value is 255, this version of BLIT routine performs 35% better
in comparison to S32A_D565_Opaque_neon routine.

* S32A_Opaque_BlitRow32 and nofilter_gether:

Use neon instructions to optimize BlitRow32 and nofilter_gether
functions for 32-bit source and destination pixel arrays. An improvement
of 76% is observed with neon optimized BlitRow32 function and 6%
improvement is observed with nofilter_gether function.

* S32A_Blend_BlitRow32:

Optimize S32A_Blend_BlitRow32 using neon instructions for armv7
based targets and using regular arm instructions for armv6 based
targets.

This is the consolidated commit from several patches.

Change-Id: Ied93ffc9226415af979d9f7069c201f03a94733a
Apply PLD to blittering functions

Extend software pipelining for S32A_Blending to process 16 points
perloop and per-read points of next loop

Change-Id: Ib7a6a6efb8249b96578e75613683099251dc2a82
Two skia optimizations:

1. Combine S16_opaque_D32_nofilter_DX and clampx_nofilter_trans
2. Change MAX_BUF between mproc and sproc to 1024 from 128

Opt 1 is giving about 8-10 FPS in gmail and facebook apk.
Opt 2 is helping all combinations for shaderspan.

Change-Id: I88dc097ffd52984a7b786e13c70384688f2e1b12
File changes for SKIA Neon optimziation for S32_Opaque_filter_DX

Change-Id: I67b5af422da5de6cd5a9d3d7f661ab1745b3d204
optimize blend32_16_row and unroll SkRGB16_Blitter::blitRect

Reference benchmark using 0xbench 2D on Nexus S (1 GHz)

[before]
Draw Rect:      28.52 fps

[after]
Draw Rect:      37.89 fps

Change-Id: Ibfb8e38ddfe6df9887f15c48027cf0685f317152
skia: squashed optimizations & fixes

*Commit 1 of 4* - Jim Huang(0xlab)
Add NEON optimized SkARGB32_Black_Blitter::blitMask

Merge the NEON optimization from ST-Ericsson.

Reference benchmark results on Nexus S (ARM Cortex-A8; 1 GHz) using
skia_bench: (time in ms, smaller is better)

[before]
running bench [640 480]           text_48_linear_pos
  8888: cmsecs =  88.18
   565: cmsecs =  61.51
running bench [640 480]               text_48_linear
  8888: cmsecs =  85.85
   565: cmsecs =  60.18

[after]
running bench [640 480]           text_48_linear_pos
  8888: cmsecs =  38.52
   565: cmsecs =  59.11
running bench [640 480]               text_48_linear
  8888: cmsecs =  36.24
   565: cmsecs =  57.37

Change-Id: Ia81fd24f4a9a4537235dce51a9aaa976f83022d3

*Commit 2 of 4* - Jim Huang(0xlab)
Add NEON optimized blitter: RGB565 to ABGR8888 without filter and blending

Merge from ST-Ericsson.

Change-Id: If9ca8627983a1d2ff7e8c1469754b42409eda8a8

*Commit 3 of 4* - Andy Doan(linaro)
skia_bench: fix crash due to memory issue

currently the BenchTimer.cpp is pulling in the class
definintions for its underlying timers from BenchSysTimer_c.[h/c].

However, the Android.mk links it with BenchSysTimer_posix.c. This
is causing a crash when the destructor calls delete on the object.

This patch ensures that we pull in the header required by Android.mk.

NOTE: simply defining SK_BUILD_FOR_UNIX does not work because that
causes other parts of skia_bench to using things link GL that we don't
have access to in an android build.

Change-Id: If3d643d07de0ea9ae0f34ff7a009527ea2c323a5
Signed-off-by: Andy Doan <andy.doan@linaro.org>
Signed-off-by: Jim Huang <jserv@0xlab.org>

*Commit 4 of 4* - Wei Wang(codeaurora)
Fix CTS failure.

Revert opt 2 in the following commit.

Author: Xin Qi <xqi@codeaurora.org>
Date:   Wed Nov 16 10:07:54 2011 -0800

    Two skia optimizations:

    1. Combine S16_opaque_D32_nofilter_DX and clampx_nofilter_trans
    2. Change MAX_BUF between mproc and sproc to 1024 from 128

    Opt 1 is giving about 8-10 FPS in gmail and facebook apk.
    Opt 2 is helping all combinations for shaderspan.

CRs-Fixed: 330807

Change-Id: Iece797781e97918f4c77fc767bf9e6772927d6f3
skia: update -> revision 3022 -> revision 3312

*Commit 1 of 2*
Skia merge (revision 3022)

This CL has companion changes to account for API updates in...
 (1) frameworks/base
 (2) external/webkit

Change-Id: Ibb989e76e8bd24313849f9631dbef42cdef9eb7d

*Commit 2 of 2*
Skia Merge (revision 3312)

This CL also includes changes made to Android's copy of
Skia in their J release branch.

Change-Id: Ib2baecf48004951a3ad4a1574cdc38790c814cbc
Tweaks for forward-compatibility

Change-Id: I3c734d0f7961aada86977d3b7414ee489f3f6c05
Merge remote-tracking branch 'ev/ics' into ics