Revert of Clean up SSSE3 and SSE4 stubs. (patchset #1 id:1 of https://codereview.chromium.org/1810183003/ )
Reason for revert: I've just had a better idea about how to fix this. Let's revert while I work on it. Original issue's description: > Clean up SSSE3 and SSE4 stubs. > > We added these stubs to work around OpenBSD's old compiler, which had > support for SSE2 but not SSSE3 or SSE4. > > We now already have other unstubbed files that require SSSE3 and SSE4 compiler > support. All the compilers we support have SSSE3 and SSE4 support, and all the > way up to at least AVX2. > > (Requiring C++11 has had some nice ripple effects...) > > > And, <immintrin.h> is already auto-included for these files, so no need for smmintrin or tmmintrin. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1810183003 > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > Committed: https://skia.googlesource.com/skia/+/2b1b40e11afc41452b4d2f74cdebb1b6e6f7cc96 TBR=djsollen@google.com,mtklein@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review URL: https://codereview.chromium.org/1819223003
This commit is contained in:
parent
f809d7687a
commit
ee451cf09d
@ -10,6 +10,14 @@
|
||||
#include "SkPaint.h"
|
||||
#include "SkUtils.h"
|
||||
|
||||
/* 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 SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
|
||||
|
||||
#include <tmmintrin.h> // SSSE3
|
||||
|
||||
// adding anonymous namespace seemed to force gcc to inline directly the
|
||||
// instantiation, instead of creating the functions
|
||||
// S32_generic_D32_filter_DX_SSSE3<true> and
|
||||
@ -723,3 +731,31 @@ void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s,
|
||||
int count, uint32_t* colors) {
|
||||
S32_generic_D32_filter_DXDY_SSSE3<true>(s, xy, count, colors);
|
||||
}
|
||||
|
||||
#else // 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
|
||||
|
@ -6,6 +6,17 @@
|
||||
*/
|
||||
|
||||
#include "SkBlitRow_opts_SSE4.h"
|
||||
|
||||
// Some compilers can't compile SSSE3 or SSE4 intrinsics. We give them stub methods.
|
||||
// The stubs should never be called, so we make them crash just to confirm that.
|
||||
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSE41
|
||||
void S32A_Opaque_BlitRow32_SSE4(SkPMColor* SK_RESTRICT, const SkPMColor* SK_RESTRICT, int, U8CPU) {
|
||||
sk_throw();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <smmintrin.h> // SSE4.1 intrinsics
|
||||
#include "SkColorPriv.h"
|
||||
#include "SkColor_opts_SSE2.h"
|
||||
#include "SkMSAN.h"
|
||||
@ -59,3 +70,5 @@ void S32A_Opaque_BlitRow32_SSE4(SkPMColor* SK_RESTRICT dst,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user