- U_glx-Remove-pointless-GLX_INTEL_swap_event-paranoia.patch

* reverse apply this patch to fix a regression caused by this
    commit, which resulted in gnome-shell constantly crashing, which
    is making a GNOME/X11 session impossible (boo#1209005)

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1200
This commit is contained in:
Stefan Dirsch 2023-03-14 12:12:19 +00:00 committed by Git OBS Bridge
parent ad793f9e81
commit ab6befea69
3 changed files with 94 additions and 0 deletions

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Tue Mar 14 11:53:20 UTC 2023 - Stefan Dirsch <sndirsch@suse.com>
- U_glx-Remove-pointless-GLX_INTEL_swap_event-paranoia.patch
* reverse apply this patch to fix a regression caused by this
commit, which resulted in gnome-shell constantly crashing, which
is making a GNOME/X11 session impossible (boo#1209005)
-------------------------------------------------------------------
Wed Mar 1 21:55:02 UTC 2023 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -148,6 +148,7 @@ Patch200: u_fix-build-on-ppc64le.patch
Patch300: n_no-sse2-on-ix86-except-for-intel-drivers.patch
Patch400: n_stop-iris-flicker.patch
Patch500: U_ReturnME.patch
Patch600: U_glx-Remove-pointless-GLX_INTEL_swap_event-paranoia.patch
%ifarch %{ix86} x86_64
BuildRequires: DirectX-Headers
%endif
@ -795,6 +796,8 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%endif
%patch400 -p1
%patch500 -p1
# reverse apply to fix a regression (boo#1209005)
%patch600 -p1 -R
# Remove requires to vulkan libs from baselibs.conf on platforms
# where vulkan build is disabled; ugly ...

View File

@ -0,0 +1,83 @@
From 19c57ea3bf6d77cf6f07f2a56e781f55b0e6013b Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Tue, 13 Dec 2022 12:26:58 -0500
Subject: [PATCH] glx: Remove pointless GLX_INTEL_swap_event paranoia
It's not our job to filter this out, it's the server's job to not send
events that haven't been selected for. We'll still throw the event away
if we don't have any client-side state for it though.
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20300>
---
src/glx/dri2_glx.c | 2 +-
src/glx/glx_pbuffer.c | 20 --------------------
src/glx/glxclient.h | 1 -
3 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index 9a47f40ca9c..85d6faee5f4 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -649,7 +649,7 @@ unsigned dri2GetSwapEventType(Display* dpy, XID drawable)
struct glx_display *glx_dpy = __glXInitialize(dpy);
__GLXDRIdrawable *pdraw;
pdraw = dri2GetGlxDrawableFromXDrawableId(dpy, drawable);
- if (!pdraw || !(pdraw->eventMask & GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK))
+ if (!pdraw)
return 0;
return glx_dpy->codes.first_event + GLX_BufferSwapComplete;
}
diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c
index b74fed99efe..f66a520ea30 100644
--- a/src/glx/glx_pbuffer.c
+++ b/src/glx/glx_pbuffer.c
@@ -64,10 +64,6 @@ ChangeDrawableAttribute(Display * dpy, GLXDrawable drawable,
const CARD32 * attribs, size_t num_attribs)
{
struct glx_display *priv = __glXInitialize(dpy);
-#ifdef GLX_DIRECT_RENDERING
- __GLXDRIdrawable *pdraw;
- int i;
-#endif
CARD32 *output;
CARD8 opcode;
@@ -112,22 +108,6 @@ ChangeDrawableAttribute(Display * dpy, GLXDrawable drawable,
UnlockDisplay(dpy);
SyncHandle();
-#ifdef GLX_DIRECT_RENDERING
- pdraw = GetGLXDRIDrawable(dpy, drawable);
-
- if (!pdraw)
- return;
-
- for (i = 0; i < num_attribs; i++) {
- switch(attribs[i * 2]) {
- case GLX_EVENT_MASK:
- /* Keep a local copy for masking out DRI2 proto events as needed */
- pdraw->eventMask = attribs[i * 2 + 1];
- break;
- }
- }
-#endif
-
return;
}
diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h
index af7759bec02..8eda47988b4 100644
--- a/src/glx/glxclient.h
+++ b/src/glx/glxclient.h
@@ -127,7 +127,6 @@ struct __GLXDRIdrawableRec
struct glx_screen *psc;
GLenum textureTarget;
GLenum textureFormat; /* EXT_texture_from_pixmap support */
- unsigned long eventMask;
int refcount;
};
--
2.35.3