- 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:
parent
ad793f9e81
commit
ab6befea69
@ -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>
|
Wed Mar 1 21:55:02 UTC 2023 - Stefan Dirsch <sndirsch@suse.com>
|
||||||
|
|
||||||
|
@ -148,6 +148,7 @@ Patch200: u_fix-build-on-ppc64le.patch
|
|||||||
Patch300: n_no-sse2-on-ix86-except-for-intel-drivers.patch
|
Patch300: n_no-sse2-on-ix86-except-for-intel-drivers.patch
|
||||||
Patch400: n_stop-iris-flicker.patch
|
Patch400: n_stop-iris-flicker.patch
|
||||||
Patch500: U_ReturnME.patch
|
Patch500: U_ReturnME.patch
|
||||||
|
Patch600: U_glx-Remove-pointless-GLX_INTEL_swap_event-paranoia.patch
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
BuildRequires: DirectX-Headers
|
BuildRequires: DirectX-Headers
|
||||||
%endif
|
%endif
|
||||||
@ -795,6 +796,8 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
|||||||
%endif
|
%endif
|
||||||
%patch400 -p1
|
%patch400 -p1
|
||||||
%patch500 -p1
|
%patch500 -p1
|
||||||
|
# reverse apply to fix a regression (boo#1209005)
|
||||||
|
%patch600 -p1 -R
|
||||||
|
|
||||||
# Remove requires to vulkan libs from baselibs.conf on platforms
|
# Remove requires to vulkan libs from baselibs.conf on platforms
|
||||||
# where vulkan build is disabled; ugly ...
|
# where vulkan build is disabled; ugly ...
|
||||||
|
83
U_glx-Remove-pointless-GLX_INTEL_swap_event-paranoia.patch
Normal file
83
U_glx-Remove-pointless-GLX_INTEL_swap_event-paranoia.patch
Normal 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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user