[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