From c9c321c2aa0d97bc60124f420786d6077725e3e3 Mon Sep 17 00:00:00 2001 From: "commit-bot@chromium.org" Date: Tue, 25 Feb 2014 18:14:08 +0000 Subject: Enable the SSSE3 files to be built for Android when SSSE3 is not present. Committed: http://code.google.com/p/skia/source/detail?r=13547 R=reed@google.com, mtklein@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/169753004 git-svn-id: http://skia.googlecode.com/svn/trunk/src@13583 2bbb7eff-a529-9590-31e7-b0007b416f81 --- opts/SkBitmapProcState_opts_SSSE3.cpp | 38 ++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'opts') diff --git a/opts/SkBitmapProcState_opts_SSSE3.cpp b/opts/SkBitmapProcState_opts_SSSE3.cpp index f8342eca..ddc8ccc5 100644 --- a/opts/SkBitmapProcState_opts_SSSE3.cpp +++ b/opts/SkBitmapProcState_opts_SSSE3.cpp @@ -5,11 +5,19 @@ * found in the LICENSE file. */ -#include // SSSE3 #include "SkBitmapProcState_opts_SSSE3.h" #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. + */ +#if !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3 + +#include // SSSE3 + // adding anonymous namespace seemed to force gcc to inline directly the // instantiation, instead of creating the functions // S32_generic_D32_filter_DX_SSSE3 and @@ -722,3 +730,31 @@ void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, int count, uint32_t* colors) { S32_generic_D32_filter_DXDY_SSSE3(s, xy, count, colors); } + +#else // !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3 + +void S32_opaque_D32_filter_DX_SSSE3(const SkBitmapProcState& s, + const uint32_t* xy, + int count, uint32_t* colors) { + sk_throw(); +} + +void S32_alpha_D32_filter_DX_SSSE3(const SkBitmapProcState& s, + const uint32_t* xy, + int count, uint32_t* colors) { + sk_throw(); +} + +void S32_opaque_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, + const uint32_t* xy, + int count, uint32_t* colors) { + sk_throw(); +} + +void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s, + const uint32_t* xy, + int count, uint32_t* colors) { + sk_throw(); +} + +#endif -- cgit v1.2.3