Chromium Code Reviews| Index: src/opts/SkBlurImage_opts_SSE4.cpp |
| diff --git a/src/opts/SkBlurImage_opts_SSE4.cpp b/src/opts/SkBlurImage_opts_SSE4.cpp |
| index 1b990387c2ae707396459ba6e767eef32ac27438..7c63cbe0055398c61964e3cabf45f5f3a117131f 100644 |
| --- a/src/opts/SkBlurImage_opts_SSE4.cpp |
| +++ b/src/opts/SkBlurImage_opts_SSE4.cpp |
| @@ -10,12 +10,32 @@ |
| #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. |
| +#define SK_CPU_SSE_LEVEL_SSE1 10 |
| +#define SK_CPU_SSE_LEVEL_SSE2 20 |
| +#define SK_CPU_SSE_LEVEL_SSE3 30 |
| +#define SK_CPU_SSE_LEVEL_SSSE3 31 |
| +#define SK_CPU_SSE_LEVEL_SSE41 41 |
| +#define SK_CPU_SSE_LEVEL_SSE42 42 |
| + |
| +#if SK_CPU_SSE_LEVEL == SK_CPU_SSE_LEVEL_SSE41 |
| +#error SK_CPU_SSE_LEVEL_SSE41 |
|
hal.canary
2014/07/21 19:48:28
delete line 21
|
| +#elif SK_CPU_SSE_LEVEL == SK_CPU_SSE_LEVEL_SSSE3 |
| +#error SK_CPU_SSE_LEVEL_SSSE3 |
| +#elif SK_CPU_SSE_LEVEL == SK_CPU_SSE_LEVEL_SSE3 |
| +#error SK_CPU_SSE_LEVEL_SSE3 |
| +#elif SK_CPU_SSE_LEVEL == SK_CPU_SSE_LEVEL_SSE2 |
| +#error SK_CPU_SSE_LEVEL_SSE2 |
| +#elif SK_CPU_SSE_LEVEL == SK_CPU_SSE_LEVEL_SSE1 |
| +#error SK_CPU_SSE_LEVEL_SSE1 |
| +#elif !defined(SK_CPU_SSE_LEVEL) |
| +#error no level |
| +#endif |
| + |
| +/* 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 +130,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, |