external/skia: Add QC hooks

Add QC hooks blittering functions

Change-Id: I9d72549ec23b9f5ed69e8337734b32cac165c83d
(cherry picked from commit fdd659a5b40c3d5a084ab16178a5913e0793ef6b)
(cherry picked from commit 33db2b26228edcef59cb86d865d5d3009e619e5a)
(cherry picked from commit d1efd8f20f630959c70bac98ccd85861d23017b5)
SkBlitter_RGB16: Add device-specific optimization hooks

Change-Id: I18bf4825669fef6fcc10e5d48271e7ea9abb3ed6
(cherry picked from commit 5d5e3dd98e15a5d25fcddf41f00dc5989942d094)
(cherry picked from commit afbd633b035a8b8f6017f52f6ad398a076aee841)
(cherry picked from commit 814fe785689f0b018283fbc2b02a2d230f0221cb)
Skia: GPU backend enhancement for canvas2D.

Improve browser performance for canvas2D, we adopted skia-gpu backend.
Add a switch to turn on GR_STATIC_RECT_VB flag, which improve the performance.

Change-Id: I41059c745ef4ee727cfbb5471b697bbfae238015
Author: Kangyuan Shu <kangyuan.shu@intel.com>
Singed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 26567

Conflicts:
	Android.mk
Skia: Fix path to OpenGL Headers

This patch will change the path to point to the correct location
of the OpenGL Headers. The path has changed to
frameworks/native/opengl/include/.

Change-Id: Ib85e3d9e6df530f12605306eb0bad7c7b5799dfe
Add a switch to turn on GR_STATIC_RECT_VB flag
[MTBF]Tombstone on com.android.browser at /system/lib/libskia.so

if given a null bitmap to encode, the function will be failed, now we check
the given picture.

Change-Id: Iea12db55165817e64339135e60a1afca6dec0979
Author: Weiwei Ji <weiweix.ji@intel.com>
Signed-off-by: Weiwei Ji <weiweix.ji@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 38891
remove SSE check at runtime if it's supported at compile-time

SSE2 is a hardware feature supported by atom-based platform.
So it's unnecessary to do runtime check. This will get 2%-3%
benefit for some SKIA-intensive workloads.

Change-Id: I48fa905b503a7060a647cd38ab55ce7e179ee926
Author: Lei Li <lei.l.li@intel.com>
Signed-off-by: Lei Li <lei.l.li@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 20472

Conflicts:
	src/opts/opts_check_SSE2.cpp
Build skia test program in arm mode

The skia library is built in non-thumb mode, but several optimisations
are disabled if the test program is built in thumb mode.
The ARM version of SkFloatToFixed is not as accurate as the portable
version... presumably that is ok.

Signed-off-by: Chris Dearman <chris@mips.com>

Change-Id: Ie19c3d60b0b5a77171433962aa3e8851e5ac6ae5
skia: Fix build in ISO C++11 mode

Fix macro constructs that could be mistaken for new string literals

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Modified for migrating Skia test to lava_test_shell

Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
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

Conflicts:
	src/opts/SkUtils_opts_none.cpp
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
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>
New Tests

With corrected buffer size counts for test_scale_nofilter,
test_rotation_affine_filter, and test_perspective_filter.

Change-Id: I5bf8a70c4f58f12279459b1befcd6cdde6895c25

Conflicts:
	bench/Android.mk
	tests/Android.mk
	tests/Sk64Test.cpp

Conflicts:
	bench/Android.mk
	tests/Android.mk
Restore cutil memsetX functions for Cortex-A9.

Summary:
Restores usage of memset16/32 functions from Android's libcutil
library for platforms running Cortex-A9, since non-Neon
is usually faster.

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

Test Plan: skia benchtest

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D529

Conflicts:
	Android.mk
	tests/Android.mk