Module: Mesa
Branch: main
Commit: 39824457283bf194c2e2773c19708848027121e1
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=39824457283bf194c2e2773c19708848027121e1

Author: Semjon Kravtsenko <[email protected]>
Date:   Wed Jun 21 10:50:44 2023 +0300

glx: Assign unique serial number to GLXBadFBConfig error

Fixes: e89e1f5049d ("glx: Fix error handling yet again in CreateContextAttribs")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9171
Tested-by: yan12125
Co-authored-by: XRevan86
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23762>

---

 src/glx/create_context.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/glx/create_context.c b/src/glx/create_context.c
index f89ceec30be..1c2bbb1cfd1 100644
--- a/src/glx/create_context.c
+++ b/src/glx/create_context.c
@@ -115,6 +115,11 @@ glXCreateContextAttribsARB(Display *dpy, GLXFBConfig 
config,
 #endif
 
    if (gc == NULL) {
+      /* Increment dpy->request in order to give a unique serial number to the 
error.
+       * This may break creating contexts on some video cards, if libx11 
<1.7.4 is used.
+       * However, this fixes creating contexts (on some video cards) if libx11 
>=1.7.4 is used.
+       */
+      XNoOp(dpy);
       /* -1 isn't a legal XID, which is sort of the point, we've failed
        * before we even got to XID allocation.
        */

Reply via email to