Skip to content
Snippets Groups Projects
Verified Commit 62a267f8 authored by Johannes Schauer Marin Rodrigues's avatar Johannes Schauer Marin Rodrigues
Browse files

drop xwayland patches as 2:23.2.0-1 is now in unstable

parent 9d1dcab8
No related branches found
No related tags found
No related merge requests found
#!/bin/sh
set -e
# the following is a workaround for https://bugs.debian.org/939515
patch -p1 << 'EOF'
diff -Nru xwayland-22.1.9/debian/control xwayland-22.1.9/debian/control
--- xwayland-22.1.9/debian/control 2023-03-29 15:19:24.000000000 +0200
+++ xwayland-22.1.9/debian/control 2023-04-03 05:43:13.000000000 +0200
@@ -20,6 +20,7 @@
libxshmfence-dev,
libxv-dev,
libwayland-dev,
+ libwayland-dev:native,
mesa-common-dev,
x11proto-dev,
xfonts-utils,
diff -Nru xwayland-22.1.9/debian/patches/936.patch xwayland-22.1.9/debian/patches/936.patch
--- xwayland-22.1.9/debian/patches/936.patch 1970-01-01 01:00:00.000000000 +0100
+++ xwayland-22.1.9/debian/patches/936.patch 2023-04-03 05:51:47.000000000 +0200
@@ -0,0 +1,109 @@
+From 95944e2b990dacde81892406c8a0e2cc2afa7b3e Mon Sep 17 00:00:00 2001
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Thu, 28 Jul 2022 22:52:15 +0200
+Subject: [PATCH 3/4] glamor_egl: handle fd export failure in
+ glamor_egl_fds_from_pixmap
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Check the fd for validity before giving a success return code.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Reviewed-by: Simon Ser <contact@emersion.fr>
+Tested-by: Guido Günther <agx@sigxcpu.org>
+---
+ glamor/glamor_egl.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
+index 60d0df893..fa5fcbd04 100644
+--- a/glamor/glamor_egl.c
++++ b/glamor/glamor_egl.c
+@@ -417,6 +417,11 @@ glamor_egl_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds,
+ num_fds = gbm_bo_get_plane_count(bo);
+ for (i = 0; i < num_fds; i++) {
+ fds[i] = gbm_bo_get_fd(bo);
++ if (fds[i] == -1) {
++ while (--i >= 0)
++ close(fds[i]);
++ return 0;
++ }
+ strides[i] = gbm_bo_get_stride_for_plane(bo, i);
+ offsets[i] = gbm_bo_get_offset(bo, i);
+ }
+@@ -424,6 +429,8 @@ glamor_egl_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds,
+ #else
+ num_fds = 1;
+ fds[0] = gbm_bo_get_fd(bo);
++ if (fds[0] == -1)
++ return 0;
+ strides[0] = gbm_bo_get_stride(bo);
+ offsets[0] = 0;
+ *modifier = DRM_FORMAT_MOD_INVALID;
+--
+GitLab
+
+
+From e5b09f7a2cc3bd64a6ea207c7c75d4f05b79cf44 Mon Sep 17 00:00:00 2001
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Sun, 10 Jul 2022 19:35:43 +0200
+Subject: [PATCH 4/4] glamor_egl: properly get FDs from multiplanar GBM BOs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Multiplanar GBM buffers can point to different objects from each plane.
+Use the _for_plane API when possible to retrieve the correct prime FD
+for each plane.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Reviewed-by: Simon Ser <contact@emersion.fr>
+Tested-by: Guido Günther <agx@sigxcpu.org>
+---
+ glamor/glamor_egl.c | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
+index fa5fcbd04..aa82a5608 100644
+--- a/glamor/glamor_egl.c
++++ b/glamor/glamor_egl.c
+@@ -403,6 +403,9 @@ glamor_egl_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds,
+ struct gbm_bo *bo;
+ int num_fds;
+ #ifdef GBM_BO_WITH_MODIFIERS
++#ifndef GBM_BO_FD_FOR_PLANE
++ int32_t first_handle;
++#endif
+ int i;
+ #endif
+
+@@ -416,7 +419,24 @@ glamor_egl_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds,
+ #ifdef GBM_BO_WITH_MODIFIERS
+ num_fds = gbm_bo_get_plane_count(bo);
+ for (i = 0; i < num_fds; i++) {
+- fds[i] = gbm_bo_get_fd(bo);
++#ifdef GBM_BO_FD_FOR_PLANE
++ fds[i] = gbm_bo_get_fd_for_plane(bo, i);
++#else
++ union gbm_bo_handle plane_handle = gbm_bo_get_handle_for_plane(bo, i);
++
++ if (i == 0)
++ first_handle = plane_handle.s32;
++
++ /* If all planes point to the same object as the first plane, i.e. they
++ * all have the same handle, we can fall back to the non-planar
++ * gbm_bo_get_fd without losing information. If they point to different
++ * objects we are out of luck and need to give up.
++ */
++ if (first_handle == plane_handle.s32)
++ fds[i] = gbm_bo_get_fd(bo);
++ else
++ fds[i] = -1;
++#endif
+ if (fds[i] == -1) {
+ while (--i >= 0)
+ close(fds[i]);
+--
+GitLab
+
diff -Nru xwayland-22.1.9/debian/patches/glamor xwayland-22.1.9/debian/patches/glamor
--- xwayland-22.1.9/debian/patches/glamor 1970-01-01 01:00:00.000000000 +0100
+++ xwayland-22.1.9/debian/patches/glamor 2023-04-03 05:43:13.000000000 +0200
@@ -0,0 +1,11 @@
+--- a/glamor/glamor_render.c
++++ b/glamor/glamor_render.c
+@@ -1589,6 +1589,8 @@ glamor_composite_clipped_region(CARD8 op
+ if (prect != rect)
+ free(prect);
+ out:
++ glFinish();
++
+ if (temp_src != source)
+ FreePicture(temp_src, 0);
+ if (temp_mask != mask)
diff -Nru xwayland-22.1.9/debian/patches/series xwayland-22.1.9/debian/patches/series
--- xwayland-22.1.9/debian/patches/series 2023-03-29 15:19:24.000000000 +0200
+++ xwayland-22.1.9/debian/patches/series 2023-04-03 05:43:13.000000000 +0200
@@ -1 +1,3 @@
xwayland-Detect-gbm_bo_get_fd_for_plane-at-runtime.patch
+glamor
+936.patch
EOF
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment