memcpy_76(): add support for non-ARM architectures

Before, memcpy_76() assumed ARM instruction set.  Add preprocessor
guards to use generic memcpy() if not on ARM.

Change-Id: Id4d7335332f4086fa33641630f41810b2fe07031
Revert "memcpy_76(): add support for non-ARM architectures"

This reverts commit ad673c1cb9dd151fd4e74380c4ba82c1fefb580b.
FIX: memcpy_76(): add support for non-ARM architectures

Before, memcpy_76() assumed ARM instruction set.  Add preprocessor
guards to use generic memcpy() if not on ARM.

Original patch had args to memcpy_76 backwards.

Change-Id: Ib5375e9de28ab6c2b348731dcdf282d6f7a529c1
memcpy_76(): fix behavior on non-ARM architectures

The destination is passed as the first argument to memcpy_76() and the
source is passed as the second argument.  As originally written in
commit cb5701e, the first argument was called 'src' (despite being the
destination) and the second was called 'dst' (despite being the
source).  The behavior of the memcpy_76() function was correct despite
the backward variable naming.

Commit ad673c1 reversed the naming of the two arguments to clarify the
semantics of the function but failed to reverse the naming in the ARM
assembly code.  This broke the function's behavior on ARM devices.

Commits a8ce1a0 and f4be52e reversed the argument names again.  This
fixed ARM support, but broke non-ARM architectures (the arguments to
memcpy() in the body of the memcpy_76() function were not also
reversed).

This change swaps the argument names again and swaps the names in the
ARM assembly, restoring correct behavior on non-ARM architectures and
aligning the variable names with the function's semantics.

Change-Id: Iaeb2b84b6696e3eebf29617dfdc41c55e5226776
skia: SkPaint::SkPaint(): don't cast away const

This will help avoid bugs like the one fixed in change-id:
Iaeb2b84b6696e3eebf29617dfdc41c55e5226776.

Change-Id: I892423e18f9927f827393d0ff0c923259e07389c
Skia: Introduce caching of unscaled Bitmaps.

This allows skia to choose whether to use the prescaled bitmap or the
unscaled bitmap depending on which would be optimal in the current
situation. This commit also introduces two functions necessary for
properly resizing Rects when using the non-pre-scaled bitmaps.

CRs-fixed: 451681

Change-Id: I36779d8a680a3ced7c28da492e879de02c7e87a5
Revert "Neon optimized implementation of S16_opaque_D32_nofilter_DX"

This reverts commit a9a4c66d163e245628ddde71dca40e4c29a44f47.
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>
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 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>
Revert "Add optimized S32A_D565_Opaque_Dither blitter."

This reverts commit 506e364aaa1689ca5b8edc68178c0a134dd16781.
Revert "Add optimization of Skia S32A_Blend blitter"

This reverts commit 416f34f7ddf0a948d092fd11933565b1acee3fe9.
Revert "Add optimization of Skia S32A_Opaque blitter"

This reverts commit 49cd20ffc0969087a8b6c1406e7cb7e59738a7f5.
Revert "Modify sample buffer size for larger displays."

This reverts commit 1f089a2a9abd7fbb7f9cdf7a57a37a3639fb84c2.