glx: Assign unique serial number to GLXBadFBConfig error

Fixes: e89e1f5049 ("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>
(cherry picked from commit 3982445728)
This commit is contained in:
Semjon Kravtsenko 2023-06-21 10:50:44 +03:00 committed by Eric Engestrom
parent 506a84dc94
commit 747564ab09
2 changed files with 6 additions and 1 deletions

View file

@ -31,7 +31,7 @@
"description": "glx: Assign unique serial number to GLXBadFBConfig error",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "e89e1f5049d3b78542fcd69b7d6106dd4bdafc39"
},

View file

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