Accepting request 779145 from home:Guillaume_G:branches:openSUSE:Factory:ARM
- Fix build on aarch64/armv7 with: * mozilla-bmo1610814.patch - boo#1164845 OBS-URL: https://build.opensuse.org/request/show/779145 OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=806
This commit is contained in:
committed by
Git OBS Bridge
parent
32b74d8c4c
commit
b72b8e1049
@@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 25 14:17:00 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Fix build on aarch64/armv7 with:
|
||||
* mozilla-bmo1610814.patch - boo#1164845
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 20 13:40:59 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
||||
|
@@ -186,6 +186,7 @@ Patch19: mozilla-bmo1512162.patch
|
||||
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 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
# Firefox
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
|
46
mozilla-bmo1610814.patch
Normal file
46
mozilla-bmo1610814.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Andrew Osmond <aosmond@mozilla.com>
|
||||
# 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);
|
||||
|
Reference in New Issue
Block a user