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@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@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