GLX: Add extra glXMakeContextCurrent () call to work around a DRI issue

Reference: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7808

Fixes #4499, #5387, #5170
This commit is contained in:
Luca Bacci 2022-12-01 18:18:23 +01:00
parent c977f5cbb0
commit f788e994a9

View File

@ -232,6 +232,12 @@ gdk_x11_gl_context_glx_make_current (GdkGLContext *context,
"Making GLX context %p current to drawable %lu", "Making GLX context %p current to drawable %lu",
context, (unsigned long) drawable); context, (unsigned long) drawable);
/* Work around a glitch, see
* https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5281
*/
if (glXGetCurrentContext () != self->glx_context)
glXMakeContextCurrent (dpy, None, None, NULL);
if (!glXMakeContextCurrent (dpy, drawable, drawable, self->glx_context)) if (!glXMakeContextCurrent (dpy, drawable, drawable, self->glx_context))
return FALSE; return FALSE;