Revert of Enable the SSSE3 compile time check on all platforms. (https://codereview.chromium.org/403583002/)
Reason for revert: This is blocking the roll. Chromium Windows trybots (like win_chromium_x64_rel) are crashing in the SSSE3 code (for example SkCanvasVideoRenderTest.CroppedFrame). Original issue's description: > Enable the SSSE3 compile time check on all platforms (3rd attempt) > > BUG=skia:2746 > > Committed: https://skia.googlesource.com/skia/+/933834851f9d48fbd85b728cc92e1f0134bfaa4e R=halcanary@google.com, mtklein@google.com, djsollen@google.com TBR=djsollen@google.com, halcanary@google.com, mtklein@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2746 Author: bungeman@google.com Review URL: https://codereview.chromium.org/418523002
This commit is contained in:
parent
ddb459e746
commit
2da0f85488
@ -646,11 +646,6 @@
|
||||
'-fuse-ld=gold',
|
||||
],
|
||||
'conditions': [
|
||||
[ 'skia_arch_type == "x86"', {
|
||||
'cflags': [
|
||||
'-mssse3',
|
||||
],
|
||||
}],
|
||||
[ 'skia_android_framework', {
|
||||
'libraries!': [
|
||||
'-lstdc++',
|
||||
|
50
gyp/opts.gyp
50
gyp/opts.gyp
@ -188,20 +188,19 @@
|
||||
'../src/core',
|
||||
'../src/utils',
|
||||
],
|
||||
'sources': [
|
||||
'../src/opts/SkBitmapProcState_opts_SSSE3.cpp',
|
||||
],
|
||||
'conditions': [
|
||||
[ 'skia_os == "win"', {
|
||||
'defines' : [ 'SK_CPU_SSE_LEVEL=31' ],
|
||||
}],
|
||||
# (Mac has -mssse3 globally.)
|
||||
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chromeos", "android"] \
|
||||
and not skia_android_framework', {
|
||||
'cflags': [
|
||||
'-mssse3',
|
||||
],
|
||||
}],
|
||||
# (Mac has -mssse3 globally.)
|
||||
[ 'skia_arch_type == "x86"', {
|
||||
'sources': [
|
||||
'../src/opts/SkBitmapProcState_opts_SSSE3.cpp',
|
||||
],
|
||||
}],
|
||||
],
|
||||
},
|
||||
# For the same lame reasons as what is done for skia_opts, we also have to
|
||||
@ -221,27 +220,11 @@
|
||||
'../src/core',
|
||||
'../src/utils',
|
||||
],
|
||||
'sources': [
|
||||
'../src/opts/SkBlurImage_opts_SSE4.cpp',
|
||||
],
|
||||
'conditions': [
|
||||
[ 'skia_arch_width == 64', {
|
||||
'sources': [
|
||||
'../src/opts/SkBlitRow_opts_SSE4_x64_asm.S',
|
||||
],
|
||||
}],
|
||||
[ 'skia_arch_width == 32', {
|
||||
'sources': [
|
||||
'../src/opts/SkBlitRow_opts_SSE4_asm.S',
|
||||
],
|
||||
}],
|
||||
[ 'skia_os == "win"', {
|
||||
'defines' : [ 'SK_CPU_SSE_LEVEL=41' ],
|
||||
}],
|
||||
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chromeos", "android"] \
|
||||
and not skia_android_framework', {
|
||||
'cflags': [
|
||||
'-msse4.1',
|
||||
'-msse4',
|
||||
],
|
||||
}],
|
||||
[ 'skia_os == "mac"', {
|
||||
@ -250,10 +233,27 @@
|
||||
'-mssse3',
|
||||
],
|
||||
'OTHER_CPLUSPLUSFLAGS': [
|
||||
'-msse4.1',
|
||||
'-msse4',
|
||||
],
|
||||
},
|
||||
}],
|
||||
[ 'skia_arch_type == "x86"', {
|
||||
'sources': [
|
||||
'../src/opts/SkBlurImage_opts_SSE4.cpp',
|
||||
],
|
||||
'conditions': [
|
||||
[ 'skia_arch_width == 64', {
|
||||
'sources': [
|
||||
'../src/opts/SkBlitRow_opts_SSE4_x64_asm.S',
|
||||
],
|
||||
}],
|
||||
[ 'skia_arch_width == 32', {
|
||||
'sources': [
|
||||
'../src/opts/SkBlitRow_opts_SSE4_asm.S',
|
||||
],
|
||||
}],
|
||||
],
|
||||
}],
|
||||
],
|
||||
},
|
||||
# NEON code must be compiled with -mfpu=neon which also affects scalar
|
||||
|
@ -9,11 +9,12 @@
|
||||
#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.
|
||||
/* 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 SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
|
||||
#if !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
|
||||
|
||||
#include <tmmintrin.h> // SSSE3
|
||||
|
||||
@ -731,7 +732,7 @@ void S32_alpha_D32_filter_DXDY_SSSE3(const SkBitmapProcState& s,
|
||||
S32_generic_D32_filter_DXDY_SSSE3<true>(s, xy, count, colors);
|
||||
}
|
||||
|
||||
#else // SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
|
||||
#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,
|
||||
|
@ -10,11 +10,12 @@
|
||||
#include "SkColorPriv.h"
|
||||
#include "SkRect.h"
|
||||
|
||||
/* 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.
|
||||
/* 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.
|
||||
*/
|
||||
#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
|
||||
#if !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
|
||||
|
||||
#include <smmintrin.h>
|
||||
|
||||
@ -109,7 +110,7 @@ bool SkBoxBlurGetPlatformProcs_SSE4(SkBoxBlurProc* boxBlurX,
|
||||
return true;
|
||||
}
|
||||
|
||||
#else // SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
|
||||
#else // !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) || SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
|
||||
|
||||
bool SkBoxBlurGetPlatformProcs_SSE4(SkBoxBlurProc* boxBlurX,
|
||||
SkBoxBlurProc* boxBlurY,
|
||||
|
Loading…
Reference in New Issue
Block a user