From 9c9885ff774ac95ffb50f3fb61bd9978f42a8182d55ae69b95ddf0841246402c Mon Sep 17 00:00:00 2001 From: Wolfgang Rosenauer Date: Tue, 19 Nov 2019 09:21:36 +0000 Subject: [PATCH] - added mozilla-bmo1504834-part4.patch mozilla-bmo849632.patch to fix broken tab-titles on big endian machines - reactivate webRTC for all architectures OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/firefox-esr?expand=0&rev=16 --- firefox-esr.changes | 9 +++++++++ firefox-esr.spec | 7 ++++--- mozilla-bmo1504834-part4.patch | 30 ++++++++++++++++++++++++++++++ mozilla-bmo849632.patch | 23 +++++++++++++++++++++++ 4 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 mozilla-bmo1504834-part4.patch create mode 100644 mozilla-bmo849632.patch diff --git a/firefox-esr.changes b/firefox-esr.changes index 884b33a..0c2b664 100644 --- a/firefox-esr.changes +++ b/firefox-esr.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Nov 19 09:19:29 UTC 2019 - Wolfgang Rosenauer + +- added + mozilla-bmo1504834-part4.patch + mozilla-bmo849632.patch + to fix broken tab-titles on big endian machines +- reactivate webRTC for all architectures + ------------------------------------------------------------------- Sat Nov 16 07:47:06 UTC 2019 - Manfred Hollstein diff --git a/firefox-esr.spec b/firefox-esr.spec index da5b548..cfa6d5a 100644 --- a/firefox-esr.spec +++ b/firefox-esr.spec @@ -209,6 +209,7 @@ Patch12: mozilla-reduce-rust-debuginfo.patch Patch13: mozilla-ppc-altivec_static_inline.patch Patch14: mozilla-bmo1005535.patch Patch15: mozilla-bmo1568145.patch +Patch16: mozilla-bmo849632.patch Patch17: mozilla-bmo1504834-part1.patch Patch18: mozilla-bmo1504834-part2.patch Patch19: mozilla-bmo1504834-part3.patch @@ -217,6 +218,7 @@ Patch21: mozilla-bmo1554971.patch Patch22: mozilla-nestegg-big-endian.patch Patch24: mozilla-fix-top-level-asm.patch Patch25: mozilla-sle12-lower-python-requirement.patch +Patch26: mozilla-bmo1504834-part4.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -347,6 +349,7 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version} %patch13 -p1 %patch14 -p1 %patch15 -p1 +%patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 @@ -355,6 +358,7 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version} %patch22 -p1 %patch24 -p1 %patch25 -p1 +%patch26 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -477,9 +481,6 @@ ac_add_options --with-arch=armv6 ac_add_options --with-arch=armv7-a %endif %endif -%ifarch aarch64 %arm s390x -ac_add_options --disable-webrtc -%endif # mitigation/workaround for bmo#1512162 %ifarch s390x ac_add_options --enable-optimize="-O1" diff --git a/mozilla-bmo1504834-part4.patch b/mozilla-bmo1504834-part4.patch new file mode 100644 index 0000000..be11964 --- /dev/null +++ b/mozilla-bmo1504834-part4.patch @@ -0,0 +1,30 @@ +# HG changeset patch +# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec +Problem description: Tab-titles that are too long to fit into a tab get faded out. + On big endian this is broken and instead of fading out, the + tab gets white and the font transparent, leading to an unreadable + tab-title +Solution: This is not a real solution, but a hack. The real solution would have been + to byte-swap the correct buffer, but I could not find it. + So the next best thing is to deactivate the fading-effect. Now all tab-titles + are readable, albeit not as pretty to look at as they could be. +Side-effects: I have not yet found an unwanted side-effect. + +diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp +--- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200 ++++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100 +@@ -1861,6 +1861,14 @@ + SkCanvas::kPreserveLCDText_SaveLayerFlag | + (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0)); + ++#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. ++ // The result is: Tab-titles that are longer than the available space should be faded out. ++ // The fading doesn't work, so we deactivate the fading-effect here. ++ if (!aMask) ++#endif + mCanvas->saveLayer(saveRec); + + SetPermitSubpixelAA(aOpaque); diff --git a/mozilla-bmo849632.patch b/mozilla-bmo849632.patch new file mode 100644 index 0000000..f6dc2c7 --- /dev/null +++ b/mozilla-bmo849632.patch @@ -0,0 +1,23 @@ +Problem: webGL sites are displayed in the wrong color (usually blue-ish) +Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only + knows how to deal with little endian. + So we swizzle the output of webgl after reading it from readpixels() +Note: This does not fix all webGL sites, but is a step in the right direction +diff -r 6b017d3e9733 gfx/gl/GLContext.h +--- a/gfx/gl/GLContext.h Mon Sep 09 10:04:05 2019 +0200 ++++ b/gfx/gl/GLContext.h Wed Nov 13 17:13:04 2019 +0100 +@@ -1551,6 +1551,13 @@ + BEFORE_GL_CALL; + mSymbols.fReadPixels(x, y, width, height, format, type, pixels); + OnSyncCall(); ++#if MOZ_BIG_ENDIAN ++ uint8_t* itr = (uint8_t*)pixels; ++ for (GLsizei i = 0; i < width * height; i++) { ++ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1); ++ itr += 4; ++ } ++#endif + AFTER_GL_CALL; + mHeavyGLCallsSinceLastFlush = true; + } +