aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-05-06 19:47:07 +0000
committerGravatar djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-05-06 19:47:07 +0000
commit901c43c26f775eddd665ad03ce0e09fbd82514ed (patch)
tree317360166dcbe9c7b56f922488cda2fa1e452327
parent545a21a71419edcee015fbf7fecaded6bd1477c1 (diff)
Temporarily disable NEON on Android framework builds.
The GCC 4.8 compiler has an AARCH64 bug that generated non-PIC output that fails to link. R=scroggo@google.com Review URL: https://codereview.chromium.org/266883011 git-svn-id: http://skia.googlecode.com/svn/trunk@14597 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r--gyp/opts.gyp5
-rw-r--r--src/core/SkUtilsArm.h3
2 files changed, 6 insertions, 2 deletions
diff --git a/gyp/opts.gyp b/gyp/opts.gyp
index 6ca602ca2c..30f269e64b 100644
--- a/gyp/opts.gyp
+++ b/gyp/opts.gyp
@@ -103,7 +103,8 @@
}],
[ '(skia_arch_type == "mips") or (skia_arch_type == "arm" and arm_version < 7) \
or (skia_os == "ios") \
- or (skia_os == "android" and skia_arch_type not in ["x86", "arm", "mips", "arm64"])', {
+ or (skia_os == "android" and skia_arch_type not in ["x86", "arm", "mips", "arm64"]) \
+ or (skia_android_framework and skia_arch_type == "arm64")', {
'sources': [
'../src/opts/SkBitmapProcState_opts_none.cpp',
'../src/opts/SkBlitMask_opts_none.cpp',
@@ -122,7 +123,7 @@
'-mno-apcs-frame',
]
}],
- [ 'skia_arch_type == "arm64"', {
+ [ 'skia_arch_type == "arm64" and skia_android_framework == 0', {
'sources': [
'../src/opts/SkBitmapProcState_arm_neon.cpp',
'../src/opts/SkBitmapProcState_matrixProcs_neon.cpp',
diff --git a/src/core/SkUtilsArm.h b/src/core/SkUtilsArm.h
index 93f626c6e7..ebbbb20b43 100644
--- a/src/core/SkUtilsArm.h
+++ b/src/core/SkUtilsArm.h
@@ -23,6 +23,9 @@
#if defined(SK_CPU_ARM) && defined(__ARM_HAVE_OPTIONAL_NEON_SUPPORT)
# define SK_ARM_NEON_MODE SK_ARM_NEON_MODE_DYNAMIC
+/* b/14056351 - temporarily disable NEON support for arm64 */
+#elif defined(SK_CPU_ARM64) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)
+# define SK_ARM_NEON_MODE SK_ARM_NEON_MODE_NONE
#elif defined(SK_CPU_ARM) && defined(__ARM_HAVE_NEON) || defined(SK_CPU_ARM64)
# define SK_ARM_NEON_MODE SK_ARM_NEON_MODE_ALWAYS
#else