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
This commit is contained in:
djsollen 2014-07-14 07:58:41 -07:00 committed by Commit bot
parent 55d316eaba
commit ee34953144
3 changed files with 15 additions and 12 deletions

View File

@ -654,6 +654,11 @@
'-fuse-ld=gold', '-fuse-ld=gold',
], ],
'conditions': [ 'conditions': [
[ 'skia_arch_type == "x86"', {
'cflags': [
'-mssse3',
],
}],
[ 'skia_android_framework', { [ 'skia_android_framework', {
'libraries!': [ 'libraries!': [
'-lstdc++', '-lstdc++',

View File

@ -9,12 +9,11 @@
#include "SkPaint.h" #include "SkPaint.h"
#include "SkUtils.h" #include "SkUtils.h"
/* With the exception of the Android framework we always build the SSSE3 functions /* With the exception of the compilers that don't support it, we always build the
* and enable the caller to determine SSSE3 support. However for the Android framework * SSSE3 functions and enable the caller to determine SSSE3 support. However for
* if the device does not support SSSE3 then the compiler will not supply the required * compilers that do not support SSSE3 we provide a stub implementation.
* -mssse3 option needed to build this file, so instead 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 #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); 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, void S32_opaque_D32_filter_DX_SSSE3(const SkBitmapProcState& s,
const uint32_t* xy, const uint32_t* xy,

View File

@ -10,12 +10,11 @@
#include "SkColorPriv.h" #include "SkColorPriv.h"
#include "SkRect.h" #include "SkRect.h"
/* With the exception of the Android framework we always build the SSE4 functions /* With the exception of the compilers that don't support it, we always build the
* and enable the caller to determine SSE4 support. However, for the Android framework, * SSE4 functions and enable the caller to determine SSE4 support. However for
* if the device does not support SSE4x then the compiler will not supply the required * compilers that do not support SSE4x we provide a stub implementation.
* -msse4* option needed to build this file, so instead 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> #include <smmintrin.h>
@ -110,7 +109,7 @@ bool SkBoxBlurGetPlatformProcs_SSE4(SkBoxBlurProc* boxBlurX,
return true; 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, bool SkBoxBlurGetPlatformProcs_SSE4(SkBoxBlurProc* boxBlurX,
SkBoxBlurProc* boxBlurY, SkBoxBlurProc* boxBlurY,