Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2020-02-29 21:20:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old) and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox" Sat Feb 29 21:20:30 2020 rev:306 rq:779878 version:73.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2020-02-25 16:03:34.948260568 +0100 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.26092/MozillaFirefox.changes 2020-02-29 21:20:44.490068501 +0100 @@ -1,0 +2,11 @@ +Wed Feb 26 08:12:00 UTC 2020 - Wolfgang Rosenauer <[email protected]> + +- big endian fixes + +------------------------------------------------------------------- +Tue Feb 25 14:17:00 UTC 2020 - Guillaume GARDET <[email protected]> + +- Fix build on aarch64/armv7 with: + * mozilla-bmo1610814.patch (boo#1164845, bmo#1610814) + +------------------------------------------------------------------- @@ -10 +21 @@ - (bmo#1614535) + (bmo#1614535, boo#1164646) New: ---- mozilla-bmo1610814.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.jw9xvH/_old 2020-02-29 21:21:03.994107098 +0100 +++ /var/tmp/diff_new_pack.jw9xvH/_new 2020-02-29 21:21:03.994107098 +0100 @@ -186,6 +186,7 @@ Patch20: mozilla-fix-top-level-asm.patch Patch21: mozilla-bmo1504834-part4.patch Patch22: mozilla-bmo849632.patch +Patch23: mozilla-bmo1610814.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -321,6 +322,7 @@ %patch20 -p1 %patch21 -p1 %patch22 -p1 +%patch23 -p1 # Firefox %patch101 -p1 %patch102 -p1 ++++++ mozilla-bmo1504834-part2.patch ++++++ --- /var/tmp/diff_new_pack.jw9xvH/_old 2020-02-29 21:21:05.850110771 +0100 +++ /var/tmp/diff_new_pack.jw9xvH/_new 2020-02-29 21:21:05.850110771 +0100 @@ -23,7 +23,7 @@ + void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst, bool aHasAlpha) { -+#if MOZ_BIG_ENDIAN ++#if MOZ_BIG_ENDIAN() + int outputSize = mFilter->numValues(); + + // Input size isn't handed in, so we have to calculate it quickly @@ -40,7 +40,7 @@ + SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha); + -+#if MOZ_BIG_ENDIAN ++#if MOZ_BIG_ENDIAN() + ByteSwapArray((uint8_t*)aSrc, inputSize); + ByteSwapArray(aDst, outputSize); +#endif @@ -52,7 +52,7 @@ auto filterValues = mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength); + -+#if MOZ_BIG_ENDIAN ++#if MOZ_BIG_ENDIAN() + for (int filterY = 0; filterY < filterLength; filterY++) { + // Skia only knows LE, so we have to swizzle the input + ByteSwapArray(aSrc[filterY], aRowSize); @@ -62,7 +62,7 @@ SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst, aHasAlpha); + -+#if MOZ_BIG_ENDIAN ++#if MOZ_BIG_ENDIAN() + // After skia is finished, we swizzle back to BE, in case + // the input is used again somewhere else + for (int filterY = 0; filterY < filterLength; filterY++) { ++++++ mozilla-bmo1504834-part4.patch ++++++ --- /var/tmp/diff_new_pack.jw9xvH/_old 2020-02-29 21:21:05.858110787 +0100 +++ /var/tmp/diff_new_pack.jw9xvH/_new 2020-02-29 21:21:05.858110787 +0100 @@ -17,7 +17,7 @@ SkCanvas::kPreserveLCDText_SaveLayerFlag | (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0)); -+#if MOZ_BIG_ENDIAN ++#if MOZ_BIG_ENDIAN() + // Pushing a layer where an aMask is defined produces wrong output. + // We _should_ endian swap the data, but I couldn't find a workable way to do so + // Therefore I deactivate those layers in the meantime. ++++++ mozilla-bmo1610814.patch ++++++ # HG changeset patch # User Andrew Osmond <[email protected]> # Date 1579706360 0 # Node ID b3d8b08265b800165d684281d19ac845a8ff9a66 # Parent 50c371b37a9fcd994a5866db73bd0d078e19f95d Bug 1610814 - Fix NEON compile error with gcc and RGB unpacking. r=lsalzman This patch makes us use the correct intrinsic for loading a uint8x16 register. It is not entirely clear why clang accepts this without complaint but beyond the types, it should be equivalent. Differential Revision: https://phabricator.services.mozilla.com/D60667 diff --git a/gfx/2d/SwizzleNEON.cpp b/gfx/2d/SwizzleNEON.cpp --- a/gfx/2d/SwizzleNEON.cpp +++ b/gfx/2d/SwizzleNEON.cpp @@ -407,25 +407,25 @@ void UnpackRowRGB24_NEON(const uint8_t* } uint8x16_t alpha = vreinterpretq_u8_u32(vdupq_n_u32(0xFF000000)); // Process all 4-pixel chunks as one vector. src -= 4 * 3; dst -= 4 * 4; while (src >= aSrc) { - uint8x16_t px = vld1q_u16(reinterpret_cast<const uint16_t*>(src)); + uint8x16_t px = vld1q_u8(src); // G2R2B1G1 R1B0G0R0 -> X1R1G1B1 X0R0G0B0 uint8x8_t pxlo = vtbl1_u8(vget_low_u8(px), masklo); // B3G3R3B2 G2R2B1G1 -> X3R3G3B3 X2R2G2B2 uint8x8_t pxhi = vtbl1_u8(vext_u8(vget_low_u8(px), vget_high_u8(px), 4), maskhi); px = vcombine_u8(pxlo, pxhi); px = vorrq_u8(px, alpha); - vst1q_u16(reinterpret_cast<uint16_t*>(dst), px); + vst1q_u8(dst, px); src -= 4 * 3; dst -= 4 * 4; } } // Force instantiation of swizzle variants here. template void UnpackRowRGB24_NEON<false>(const uint8_t*, uint8_t*, int32_t); template void UnpackRowRGB24_NEON<true>(const uint8_t*, uint8_t*, int32_t); ++++++ mozilla-bmo849632.patch ++++++ --- /var/tmp/diff_new_pack.jw9xvH/_old 2020-02-29 21:21:05.882110835 +0100 +++ /var/tmp/diff_new_pack.jw9xvH/_new 2020-02-29 21:21:05.882110835 +0100 @@ -10,7 +10,7 @@ BEFORE_GL_CALL; mSymbols.fReadPixels(x, y, width, height, format, type, pixels); OnSyncCall(); -+#if MOZ_BIG_ENDIAN ++#if MOZ_BIG_ENDIAN() + uint8_t* itr = (uint8_t*)pixels; + for (GLsizei i = 0; i < width * height; i++) { + NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
