[X2Go-Commits] [pale-moon] 02/02: debian/patches: add patch activating the double-buffering check when XRENDER is being used in order to work around drawing issues (bars, stripes).

git-admin at x2go.org git-admin at x2go.org
Sat May 18 11:47:49 CEST 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository pale-moon.

commit 3b126f0cb8896d1eb7fdd3ef0f885bc710d3f2ba
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Sat May 18 11:46:33 2019 +0200

    debian/patches: add patch activating the double-buffering check when XRENDER is being used in order to work around drawing issues (bars, stripes).
---
 debian/changelog                                   |  2 ++
 .../Reenable-double-buffering-with-XRENDER.patch   | 23 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 3 files changed, 26 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 08d4f8f..f03bdc7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,8 @@ palemoon (28.5.0+repack-1-0x2go1) UNRELEASED; urgency=medium
     - Deactivate XLIB-compatible surface patch. We will need a "clean" build
       again.
     - Reenable XLIB-compatible surface patch again.
+    - Add patch activating the double-buffering check when XRENDER is being
+      used in order to work around drawing issues (bars, stripes).
 
  -- Mihai Moldovan <ionic at ionic.de>  Thu, 09 May 2019 05:24:03 +0200
 
diff --git a/debian/patches/fixes/Reenable-double-buffering-with-XRENDER.patch b/debian/patches/fixes/Reenable-double-buffering-with-XRENDER.patch
new file mode 100644
index 0000000..b19ee66
--- /dev/null
+++ b/debian/patches/fixes/Reenable-double-buffering-with-XRENDER.patch
@@ -0,0 +1,23 @@
+--- a/gfx/layers/client/ContentClient.cpp
++++ b/gfx/layers/client/ContentClient.cpp
+@@ -78,8 +78,19 @@ ContentClient::CreateContentClient(Compo
+   // We can't use double buffering when using image content with
+   // Xrender support on Linux, as ContentHostDoubleBuffered is not
+   // suited for direct uploads to the server.
++  // FIXME: Even though the comment above suggests that double buffering
++  //        is supposed to be disabled when Xrender support is being enabled
++  //        (and used), it really wasn't. Historically,
++  //        UseImageOffscreenSurfaces() was always false in GTK2 builds, thus
++  //        triggering the check, regardless of UseXRender().
++  //        Using Xlib-based surfaces compatible with Xrender operations seems
++  //        to lead to weird graphical artifacts (bars and stripes) on some
++  //        hardware (Intel-based?) when displaying quickly-changing content,
++  //        so contrary to the statement above we'd better enable double
++  //        buffering - which also seems to not have any negative performance
++  //        impact.
+   if (!gfxPlatformGtk::GetPlatform()->UseImageOffscreenSurfaces() ||
+-      !gfxVars::UseXRender())
++       gfxVars::UseXRender())
+ #endif
+   {
+     useDoubleBuffering = (LayerManagerComposite::SupportsDirectTexturing() &&
diff --git a/debian/patches/series b/debian/patches/series
index 7d63e9b..bdcaa9b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 debian-hacks/Add-debian-extra-stuff-to-upstream-build-system-dire.patch
 
 fixes/Create-Xlib-Offscreen-Image-Surface-with-XRENDER.patch
+fixes/Reenable-double-buffering-with-XRENDER.patch

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git


More information about the x2go-commits mailing list