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. */
