Enabled aarch64, thanks to Gabriel Hojda

This commit is contained in:
Martin Stransky 2020-02-24 21:45:56 +01:00
parent 558ad062d9
commit 4a8f66fc96
2 changed files with 41 additions and 3 deletions

View File

@ -0,0 +1,36 @@
From: Andrew Osmond <aosmond@mozilla.com>
Date: Wed, 22 Jan 2020 15:19:20 +0000
Subject: 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
---
gfx/2d/SwizzleNEON.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gfx/2d/SwizzleNEON.cpp b/gfx/2d/SwizzleNEON.cpp
index 6b34f76cab1..63f211ff294 100644
--- a/gfx/2d/SwizzleNEON.cpp
+++ b/gfx/2d/SwizzleNEON.cpp
@@ -412,7 +412,7 @@ void UnpackRowRGB24_NEON(const uint8_t* aSrc, uint8_t* aDst, int32_t aLength) {
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
@@ -420,7 +420,7 @@ void UnpackRowRGB24_NEON(const uint8_t* aSrc, uint8_t* aDst, int32_t aLength) {
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;
}

View File

@ -9,7 +9,7 @@
# Disabled due to https://pagure.io/fedora-infrastructure/issue/7581 # Disabled due to https://pagure.io/fedora-infrastructure/issue/7581
ExcludeArch: s390x ExcludeArch: s390x
# Disabled due to neon build error # Disabled due to neon build error
ExcludeArch: aarch64 # ExcludeArch: aarch64
%global enable_mozilla_crashreporter 0 %global enable_mozilla_crashreporter 0
%ifarch x86_64 %{ix86} %ifarch x86_64 %{ix86}
@ -113,7 +113,7 @@ ExcludeArch: aarch64
Summary: Mozilla Firefox Web browser Summary: Mozilla Firefox Web browser
Name: firefox Name: firefox
Version: 73.0.1 Version: 73.0.1
Release: 3%{?dist} Release: 4%{?dist}
URL: https://www.mozilla.org/firefox/ URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+ License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
@ -157,6 +157,7 @@ Patch46: firefox-nss-version.patch
Patch47: fedora-shebang-build.patch Patch47: fedora-shebang-build.patch
Patch48: build-arm-wasm.patch Patch48: build-arm-wasm.patch
Patch49: build-arm-libaom.patch Patch49: build-arm-libaom.patch
Patch50: Bug-1610814-Fix-NEON-compile-error-with-gcc-and-RGB-.patch
# Fedora specific patches # Fedora specific patches
Patch215: firefox-enable-addons.patch Patch215: firefox-enable-addons.patch
@ -357,6 +358,7 @@ This package contains results of tests executed during build.
%patch47 -p1 -b .fedora-shebang %patch47 -p1 -b .fedora-shebang
%patch48 -p1 -b .build-arm-wasm %patch48 -p1 -b .build-arm-wasm
%patch49 -p1 -b .build-arm-libaom %patch49 -p1 -b .build-arm-libaom
%patch50 -p1 -b .build-arm-SwizzleNEON
# Fedora patches # Fedora patches
%patch215 -p1 -b .addons %patch215 -p1 -b .addons
@ -969,7 +971,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#--------------------------------------------------------------------- #---------------------------------------------------------------------
%changelog %changelog
* Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 73.0.1-3 * Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 73.0.1-4
- Update pipewire patch for Fedora 32 - Update pipewire patch for Fedora 32
- Added armv7hl fixes by Gabriel Hojda - Added armv7hl fixes by Gabriel Hojda