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:
parent
55d316eaba
commit
ee34953144
@ -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++',
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user