aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar djsollen <djsollen@google.com>2014-07-14 07:58:41 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-07-14 07:58:42 -0700
commitee349531446ae2a8336b0903e05d0b2150d2131f (patch)
treed4057e012382c97ec68e864dd9c81903f0be672c
parent55d316eabad866f1e371fd0afad1ce97216241b9 (diff)
Enable the SSSE3 compile time check on all platforms.
BUG=skia:2746 R=mtklein@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/391693004
-rw-r--r--gyp/common_conditions.gypi5
-rw-r--r--src/opts/SkBitmapProcState_opts_SSSE3.cpp11
-rw-r--r--src/opts/SkBlurImage_opts_SSE4.cpp11
3 files changed, 15 insertions, 12 deletions
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi
index d03dfb00a6..7228fad7f0 100644
--- a/gyp/common_conditions.gypi
+++ b/gyp/common_conditions.gypi
@@ -654,6 +654,11 @@
'-fuse-ld=gold',
],
'conditions': [
+ [ 'skia_arch_type == "x86"', {
+ 'cflags': [
+ '-mssse3',
+ ],
+ }],
[ 'skia_android_framework', {
'libraries!': [
'-lstdc++',
diff --git a/src/opts/SkBitmapProcState_opts_SSSE3.cpp b/src/opts/SkBitmapProcState_opts_SSSE3.cpp
index 5b97215cc0..165f1f5ce0 100644
--- a/src/opts/SkBitmapProcState_opts_SSSE3.cpp
+++ b/src/opts/SkBitmapProcState_opts_SSSE3.cpp
@@ -9,12 +9,11 @@
#include "SkPaint.h"
#include "SkUtils.h"
-/* With the exception of the Android framework we always build the SSSE3 functions
- * and enable the caller to determine SSSE3 support. However for the Android framework
- * if the device does not support SSSE3 then the compiler will not supply the required
- * -mssse3 option needed to build this file, so instead we provide a stub implementation.
+/* With the exception of the compilers that don't support it, we always build the
+ * SSSE3 functions and enable the caller to determine SSSE3 support. However for
+ * compilers that do not support SSSE3 we provide a stub implementation.
*/
-#if !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
+#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
#include <tmmintrin.h> // SSSE3
@@ -732,7 +731,7 @@ void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s,
S32_generic_D32_filter_DXDY_SSSE3<true>(s, xy, count, colors);
}
-#else // !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
+#else // SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
void S32_opaque_D32_filter_DX_SSSE3(const SkBitmapProcState& s,
const uint32_t* xy,
diff --git a/src/opts/SkBlurImage_opts_SSE4.cpp b/src/opts/SkBlurImage_opts_SSE4.cpp
index 1b990387c2..81748af7b2 100644
--- a/src/opts/SkBlurImage_opts_SSE4.cpp
+++ b/src/opts/SkBlurImage_opts_SSE4.cpp
@@ -10,12 +10,11 @@
#include "SkColorPriv.h"
#include "SkRect.h"
-/* With the exception of the Android framework we always build the SSE4 functions
- * and enable the caller to determine SSE4 support. However, for the Android framework,
- * if the device does not support SSE4x then the compiler will not supply the required
- * -msse4* option needed to build this file, so instead we provide a stub implementation.
+/* With the exception of the compilers that don't support it, we always build the
+ * SSE4 functions and enable the caller to determine SSE4 support. However for
+ * compilers that do not support SSE4x we provide a stub implementation.
*/
-#if !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
+#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
#include <smmintrin.h>
@@ -110,7 +109,7 @@ bool SkBoxBlurGetPlatformProcs_SSE4(SkBoxBlurProc* boxBlurX,
return true;
}
-#else // !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
+#else // SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
bool SkBoxBlurGetPlatformProcs_SSE4(SkBoxBlurProc* boxBlurX,
SkBoxBlurProc* boxBlurY,