[arch-commits] Commit in xorg-server/trunk (3 files)
Jan Steffens
heftig at archlinux.org
Fri May 25 22:35:37 UTC 2018
Date: Friday, May 25, 2018 @ 22:35:36
Author: heftig
Revision: 324993
1.20.0-5: FS#58705
Added:
xorg-server/trunk/xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch
xorg-server/trunk/xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch
Modified:
xorg-server/trunk/PKGBUILD
------------------------------------------------------------------------------------------+
PKGBUILD | 11 +++
xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch | 28 +++++++++
xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch | 29 ++++++++++
3 files changed, 67 insertions(+), 1 deletion(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2018-05-25 22:18:17 UTC (rev 324992)
+++ PKGBUILD 2018-05-25 22:35:36 UTC (rev 324993)
@@ -6,7 +6,7 @@
pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest'
'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
pkgver=1.20.0
-pkgrel=4
+pkgrel=5
arch=('x86_64')
license=('custom')
groups=('xorg')
@@ -21,6 +21,8 @@
'xwayland-config.h.meson.in::https://cgit.freedesktop.org/xorg/xserver/plain/include/xwayland-config.h.meson.in?id=xorg-server-1.20.0'
xserver-autobind-hotplug.patch
0001-v2-FS-58644.patch
+ xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch
+ xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch
xvfb-run # with updates from FC master
xvfb-run.1)
validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
@@ -32,6 +34,8 @@
'd707e0870367de2665c3b82f09564d17ed3f62c9e8b4bd471c11af1fb1e9249e306e92c7961a04e355756eec9f5271bc8e66999e56c73c31bc9da4127ff30a8e'
'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22'
'74e1aa0c101e42f0f25349d305641873b3a79ab3b9bb2d4ed68ba8e392b4db2701fcbc35826531ee2667d3ee55673e4b4fecc2a9f088141af29ceb400f72f363'
+ 'a8f65ca23ae52865147bdc1bc059b1265ba4bc61527992cf054fe76a0396ef5dfd2386782be371e926184a63def3be7333bb37fc429627d4e6fa159d263f40f7'
+ 'fc259a0a4acb7b70209fc599b0f4bc94942316bbc8c6995f783026b7cd455900bcb7527615d76c99bd2e0155e0035cbd619939a1f7ddf3af32ed854afe45b631'
'55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6'
'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22')
@@ -47,6 +51,11 @@
# Fix rootless xorg - FS#58644
# https://bugs.freedesktop.org/show_bug.cgi?id=106588
patch -Np1 -i ../0001-v2-FS-58644.patch
+
+ # Fix XWayland hangs - FS#58705
+ # https://patchwork.freedesktop.org/series/43618/
+ patch -Np1 -i ../xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch
+ patch -Np1 -i ../xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch
}
build() {
Added: xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch
===================================================================
--- xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch (rev 0)
+++ xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch 2018-05-25 22:35:36 UTC (rev 324993)
@@ -0,0 +1,28 @@
+diff --git a/glamor/glamor.c b/glamor/glamor.c
+index d984d20f3..e2c74d17a 100644
+--- a/glamor/glamor.c
++++ b/glamor/glamor.c
+@@ -836,20 +836,20 @@ glamor_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds,
+ glamor_get_screen_private(pixmap->drawable.pScreen);
+
+ if (!glamor_priv->dri3_enabled)
+- return -1;
++ return 0;
+ switch (pixmap_priv->type) {
+ case GLAMOR_TEXTURE_DRM:
+ case GLAMOR_TEXTURE_ONLY:
+ if (!glamor_pixmap_ensure_fbo(pixmap, pixmap->drawable.depth == 30 ?
+ GL_RGB10_A2 : GL_RGBA, 0))
+- return -1;
++ return 0;
+ return glamor_egl_fds_from_pixmap(screen, pixmap, fds,
+ strides, offsets,
+ modifier);
+ default:
+ break;
+ }
+- return -1;
++ return 0;
+ }
+
+ _X_EXPORT int
Added: xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch
===================================================================
--- xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch (rev 0)
+++ xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch 2018-05-25 22:35:36 UTC (rev 324993)
@@ -0,0 +1,29 @@
+diff --git a/glamor/glamor.c b/glamor/glamor.c
+index e2c74d17a..63f0947fa 100644
+--- a/glamor/glamor.c
++++ b/glamor/glamor.c
+@@ -865,17 +865,15 @@ glamor_fd_from_pixmap(ScreenPtr screen,
+ &modifier);
+
+ /* Pixmaps with multi-planes/modifier are not supported in this interface */
+- if (ret > 1) {
+- while (ret > 0)
+- close(fds[--ret]);
+- return -1;
++ if (ret == 1 && offsets[0] == 0) {
++ *stride = strides[0];
++ *size = pixmap->drawable.height * *stride;
++ return fds[0];
+ }
+
+- ret = fds[0];
+- *stride = strides[0];
+- *size = pixmap->drawable.height * *stride;
+-
+- return ret;
++ while (ret > 0)
++ close(fds[--ret]);
++ return -1;
+ }
+
+ _X_EXPORT int
More information about the arch-commits
mailing list