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);


Reply via email to