mirror of https://gitlab.freedesktop.org/mesa/mesa
e89e1f5049
Unlike the legacy CreateContext path, we would try to send the GLXCreateContextAttribs request regardless of whether we'd successfully created the client context state. And there's not a lot on the server side to go wrong besides BadAlloc, so if the request succeeded but the client side didn't we'd need to destroy the server context and synthesize an X error. Since that itself involves more X protocol it's tricky to get the request number right in the error, and tests and apps can notice when you get it wrong. Since we have now fixed client-side validation to generate the right errors at the right times, this patch does something simpler, we match CreateContext and fail early if the client-side setup fails. Now there's no question of what request number to use, because we haven't sent any protocol, the error is for the request as if it'd been sent. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4763 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12006> |
||
---|---|---|
.. | ||
apple | ||
tests | ||
windows | ||
applegl_glx.c | ||
clientattrib.c | ||
clientinfo.c | ||
compsize.c | ||
create_context.c | ||
dri2.c | ||
dri2.h | ||
dri2_glx.c | ||
dri2_priv.h | ||
dri3_glx.c | ||
dri3_priv.h | ||
dri_common.c | ||
dri_common.h | ||
dri_common_interop.c | ||
dri_common_query_renderer.c | ||
drisw_glx.c | ||
drisw_priv.h | ||
driwindows_glx.c | ||
eval.c | ||
g_glxglvnddispatchfuncs.c | ||
g_glxglvnddispatchindices.h | ||
glx_error.c | ||
glx_error.h | ||
glx_pbuffer.c | ||
glx_query.c | ||
glxclient.h | ||
glxcmds.c | ||
glxconfig.c | ||
glxconfig.h | ||
glxcurrent.c | ||
glxext.c | ||
glxextensions.c | ||
glxextensions.h | ||
glxglvnd.c | ||
glxglvnd.h | ||
glxglvnddispatchfuncs.h | ||
glxhash.c | ||
glxhash.h | ||
indirect_glx.c | ||
indirect_init.h | ||
indirect_texture_compression.c | ||
indirect_transpose_matrix.c | ||
indirect_vertex_array.c | ||
indirect_vertex_array.h | ||
indirect_vertex_array_priv.h | ||
indirect_vertex_program.c | ||
indirect_window_pos.c | ||
meson.build | ||
packrender.h | ||
packsingle.h | ||
pixel.c | ||
pixelstore.c | ||
query_renderer.c | ||
render2.c | ||
renderpix.c | ||
single2.c | ||
singlepix.c | ||
vertarr.c | ||
xfont.c |