[X2Go-Commits] [pale-moon] 02/02: debian/patches: add new patch that forces Xlib-based image surfaces when XRENDER usage is enabled.
git-admin at x2go.org
git-admin at x2go.org
Sat Apr 27 05:05:41 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 16a65c2351da8918df2bc2e1cb08def26e2fc69e
Author: Mihai Moldovan <ionic at ionic.de>
Date: Sat Apr 27 05:03:46 2019 +0200
debian/patches: add new patch that forces Xlib-based image surfaces when XRENDER usage is enabled.
Should potentially work cross-platform (at least regarding GTK2 and
GTK3) and lead to the same speedup.
---
debian/changelog | 3 ++
...Xlib-Offscreen-Image-Surface-with-XRENDER.patch | 36 ++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 40 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 7277c55..c844471 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,9 @@ palemoon (28.4.1+repack-1-0x2go1) UNRELEASED; urgency=medium
* debian/patches:
- Remove patch to revert back to non-offscreen image surfaces with GTK2.
We've got something even better coming up.
+ - Add new patch that forces Xlib-based image surfaces when XRENDER usage
+ is enabled. Should potentially work cross-platform (at least regarding
+ GTK2 and GTK3) and lead to the same speedup.
-- Mihai Moldovan <ionic at ionic.de> Wed, 25 Apr 2019 09:19:33 +0200
diff --git a/debian/patches/fixes/Create-Xlib-Offscreen-Image-Surface-with-XRENDER.patch b/debian/patches/fixes/Create-Xlib-Offscreen-Image-Surface-with-XRENDER.patch
new file mode 100644
index 0000000..5f73977
--- /dev/null
+++ b/debian/patches/fixes/Create-Xlib-Offscreen-Image-Surface-with-XRENDER.patch
@@ -0,0 +1,36 @@
+--- a/gfx/thebes/gfxPlatformGtk.cpp
++++ b/gfx/thebes/gfxPlatformGtk.cpp
+@@ -156,7 +156,7 @@ gfxPlatformGtk::CreateOffscreenSurface(c
+ if (gdkScreen) {
+ // When forcing PaintedLayers to use image surfaces for content,
+ // force creation of gfxImageSurface surfaces.
+- if (gfxVars::UseXRender() && !UseImageOffscreenSurfaces()) {
++ if (gfxVars::UseXRender()) {
+ Screen *screen = gdk_x11_screen_get_xscreen(gdkScreen);
+ XRenderPictFormat* xrenderFormat =
+ gfxXlibSurface::FindRenderFormat(DisplayOfScreen(screen),
+@@ -166,13 +166,6 @@ gfxPlatformGtk::CreateOffscreenSurface(c
+ newSurface = gfxXlibSurface::Create(screen, xrenderFormat,
+ aSize);
+ }
+- } else {
+- // We're not going to use XRender, so we don't need to
+- // search for a render format
+- newSurface = new gfxImageSurface(aSize, aFormat);
+- // The gfxImageSurface ctor zeroes this for us, no need to
+- // waste time clearing again
+- needsClear = false;
+ }
+ }
+ #endif
+@@ -182,6 +175,10 @@ gfxPlatformGtk::CreateOffscreenSurface(c
+ // e.g., no display, no RENDER, bad size, etc.
+ // Fall back to image surface for the data.
+ newSurface = new gfxImageSurface(aSize, aFormat);
++
++ // The gfxImageSurface ctor zeroes this for us, no need to
++ // waste time clearing again
++ needsClear = false;
+ }
+
+ if (newSurface->CairoStatus()) {
diff --git a/debian/patches/series b/debian/patches/series
index 0e06003..7d63e9b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
debian-hacks/Add-debian-extra-stuff-to-upstream-build-system-dire.patch
+fixes/Create-Xlib-Offscreen-Image-Surface-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