summaryrefslogtreecommitdiffstats
path: root/core/jni/Android.mk
diff options
context:
space:
mode:
authorLucas Crowthers <lucasc@codeaurora.org>2013-01-08 15:54:49 -0500
committerSteve Kondik <shade@chemlab.org>2013-02-27 14:15:29 -0800
commita2e20761b5ad646ce3f08ed24995799dd81acee0 (patch)
tree8aacdbf6447a4e9888cf55e44e853adab3466e83 /core/jni/Android.mk
parent320793c410094bda32c880acedf873c352eabd54 (diff)
downloadframeworks_base-a2e20761b5ad646ce3f08ed24995799dd81acee0.zip
frameworks_base-a2e20761b5ad646ce3f08ed24995799dd81acee0.tar.gz
frameworks_base-a2e20761b5ad646ce3f08ed24995799dd81acee0.tar.bz2
frameworks/base: vectorize Bitmap operations
Enable gcc vectorizing optimizations for Bitmap operations within libandroid_runtime.so. Adds -ftree-vectorize -mvectorize-with-neon-quad -fprefetch-loop-arrays to functions and compiles Bitmap.cpp in ARM mode (necessary to enable vectorizing optimizations) for appropriate targets. Change-Id: I12defef6f47adf41af849df6e750097f5906d92d
Diffstat (limited to 'core/jni/Android.mk')
-rw-r--r--core/jni/Android.mk15
1 files changed, 14 insertions, 1 deletions
diff --git a/core/jni/Android.mk b/core/jni/Android.mk
index de1fb4e..8edf042 100644
--- a/core/jni/Android.mk
+++ b/core/jni/Android.mk
@@ -88,7 +88,6 @@ LOCAL_SRC_FILES:= \
android_util_XmlBlock.cpp \
android_util_PackageRedirectionMap.cpp \
android/graphics/AutoDecodeCancel.cpp \
- android/graphics/Bitmap.cpp \
android/graphics/BitmapFactory.cpp \
android/graphics/Camera.cpp \
android/graphics/Canvas.cpp \
@@ -226,6 +225,20 @@ LOCAL_SHARED_LIBRARIES += libselinux
LOCAL_CFLAGS += -DHAVE_SELINUX
endif # HAVE_SELINUX
+ifeq ($(TARGET_ARCH), arm)
+ ifeq ($(TARGET_USE_KRAIT_BIONIC_OPTIMIZATION), true)
+ TARGET_arm_CFLAGS += -DUSE_NEON_BITMAP_OPTS -mvectorize-with-neon-quad
+ LOCAL_SRC_FILES+= \
+ android/graphics/Bitmap.cpp.arm
+ else
+ LOCAL_SRC_FILES+= \
+ android/graphics/Bitmap.cpp
+ endif
+else
+ LOCAL_SRC_FILES+= \
+ android/graphics/Bitmap.cpp
+endif
+
ifeq ($(USE_OPENGL_RENDERER),true)
LOCAL_SHARED_LIBRARIES += libhwui
endif