diff options
Diffstat (limited to 'www/firefox')
-rw-r--r-- | www/firefox/files/patch-bug1414440 | 82 |
1 files changed, 51 insertions, 31 deletions
diff --git a/www/firefox/files/patch-bug1414440 b/www/firefox/files/patch-bug1414440 index e0548e78f165..1b82917bebb5 100644 --- a/www/firefox/files/patch-bug1414440 +++ b/www/firefox/files/patch-bug1414440 @@ -1,7 +1,7 @@ Always build libyuv x86 optimizations with Clang. diff --git media/libyuv/libyuv/include/libyuv/compare_row.h media/libyuv/libyuv/include/libyuv/compare_row.h -index 7abc2d4aef8f..fcf942c660a2 100644 +index 7abc2d4aef8f..542df1ef504b 100644 --- media/libyuv/libyuv/include/libyuv/compare_row.h +++ media/libyuv/libyuv/include/libyuv/compare_row.h @@ -19,7 +19,7 @@ extern "C" { @@ -9,12 +9,12 @@ index 7abc2d4aef8f..fcf942c660a2 100644 #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) ++ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/libyuv/include/libyuv/planar_functions.h media/libyuv/libyuv/include/libyuv/planar_functions.h -index 040839c211b1..e99cb47d472f 100644 +index 040839c211b1..5f6a8034d209 100644 --- media/libyuv/libyuv/include/libyuv/planar_functions.h +++ media/libyuv/libyuv/include/libyuv/planar_functions.h @@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y, @@ -22,12 +22,12 @@ index 040839c211b1..e99cb47d472f 100644 #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) ++ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/libyuv/include/libyuv/rotate_row.h media/libyuv/libyuv/include/libyuv/rotate_row.h -index 2c51584eee8b..762ca4ba3ab9 100644 +index 2c51584eee8b..8e60a713c4cf 100644 --- media/libyuv/libyuv/include/libyuv/rotate_row.h +++ media/libyuv/libyuv/include/libyuv/rotate_row.h @@ -19,7 +19,7 @@ extern "C" { @@ -35,12 +35,12 @@ index 2c51584eee8b..762ca4ba3ab9 100644 #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) ++ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 diff --git media/libyuv/libyuv/include/libyuv/row.h media/libyuv/libyuv/include/libyuv/row.h -index f74bd9f7d17a..b52d6d1fcee0 100644 +index f74bd9f7d17a..b8f674ba124d 100644 --- media/libyuv/libyuv/include/libyuv/row.h +++ media/libyuv/libyuv/include/libyuv/row.h @@ -31,7 +31,7 @@ extern "C" { @@ -48,33 +48,12 @@ index f74bd9f7d17a..b52d6d1fcee0 100644 #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) ++ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 -@@ -103,7 +103,9 @@ extern "C" { - #define HAS_COPYROW_ERMS - #define HAS_COPYROW_SSE2 - #define HAS_H422TOARGBROW_SSSE3 -+#if defined(_MSC_VER) || defined(__SSE__) - #define HAS_HALFFLOATROW_SSE2 -+#endif - #define HAS_I400TOARGBROW_SSE2 - #define HAS_I422TOARGB1555ROW_SSSE3 - #define HAS_I422TOARGB4444ROW_SSSE3 -@@ -202,8 +204,10 @@ extern "C" { - #define HAS_ARGBTOYROW_AVX2 - #define HAS_COPYROW_AVX - #define HAS_H422TOARGBROW_AVX2 -+#if defined(_MSC_VER) || defined(__SSE__) - #define HAS_HALFFLOATROW_AVX2 - // #define HAS_HALFFLOATROW_F16C // Enable to test halffloat cast -+#endif - #define HAS_I400TOARGBROW_AVX2 - #define HAS_I422TOARGB1555ROW_AVX2 - #define HAS_I422TOARGB4444ROW_AVX2 diff --git media/libyuv/libyuv/include/libyuv/scale_row.h media/libyuv/libyuv/include/libyuv/scale_row.h -index edb46cc8c647..59017260b16d 100644 +index edb46cc8c647..2b2c7a0700ef 100644 --- media/libyuv/libyuv/include/libyuv/scale_row.h +++ media/libyuv/libyuv/include/libyuv/scale_row.h @@ -20,7 +20,7 @@ extern "C" { @@ -82,7 +61,48 @@ index edb46cc8c647..59017260b16d 100644 #if defined(__pnacl__) || defined(__CLR_VER) || \ - (defined(__i386__) && !defined(__SSE2__)) -+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__)) ++ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) #define LIBYUV_DISABLE_X86 #endif // MemorySanitizer does not support assembly code yet. http://crbug.com/344505 +diff --git media/libyuv/libyuv/linux.mk media/libyuv/libyuv/linux.mk +index 923345ae4d12..9e555e303913 100644 +--- media/libyuv/libyuv/linux.mk ++++ media/libyuv/libyuv/linux.mk +@@ -80,4 +80,4 @@ cpuid: util/cpuid.c libyuv.a + $(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.a + + clean: +- /bin/rm -f source/*.o *.ii *.s libyuv.a convert cpuid psnr ++ /bin/rm -f source/*.o *.ii *.s libyuv.a yuvconvert cpuid psnr +diff --git media/libyuv/libyuv/source/row_gcc.cc media/libyuv/libyuv/source/row_gcc.cc +index 8735070b619d..9df8c6a627db 100644 +--- media/libyuv/libyuv/source/row_gcc.cc ++++ media/libyuv/libyuv/source/row_gcc.cc +@@ -5479,7 +5479,7 @@ void HalfFloatRow_SSE2(const uint16* src, uint16* dst, float scale, int width) { + : "+r"(src), // %0 + "+r"(dst), // %1 + "+r"(width) // %2 +- : "x"(scale * kScaleBias) // %3 ++ : "mx"(scale * kScaleBias) // %3 + : "memory", "cc", + "xmm2", "xmm3", "xmm4", "xmm5" + ); +@@ -5515,7 +5515,7 @@ void HalfFloatRow_AVX2(const uint16* src, uint16* dst, float scale, int width) { + : "+r"(src), // %0 + "+r"(dst), // %1 + "+r"(width) // %2 +- : "x"(scale * kScaleBias) // %3 ++ : "mx"(scale * kScaleBias) // %3 + : "memory", "cc", + "xmm2", "xmm3", "xmm4", "xmm5" + ); +@@ -5548,7 +5548,7 @@ void HalfFloatRow_F16C(const uint16* src, uint16* dst, float scale, int width) { + : "+r"(src), // %0 + "+r"(dst), // %1 + "+r"(width) // %2 +- : "x"(scale) // %3 ++ : "mx"(scale) // %3 + : "memory", "cc", + "xmm2", "xmm3", "xmm4" + ); |