mesa/src/glx
Adam Jackson f39fd3dce7 glx/indirect: Validate the context version in CreateContextAttribs
This is Sort Of handled by nerfing GL_VERSION in __indirect_glGetString,
but that doesn't cover GLES contexts which we also don't have any
indirect support for. Xorg's GLX would reject this for us since it has
the same limitation, but NVIDIA's GLX seems to interpret a request for
ES 2.0 as desktop, despite having the ES2 profile bit set, leading to a
very confusing GL_VERSION string and probably not the ES2-compatible
context you were hoping for.

Since we may now return NULL from indirect_create_context_attribs for
reasons other than malloc failure, we need to reasonably handle the case
where gc == NULL by the time we get to the XCB call. We rely on the
server to generate correct return values in this case, but if it
succeeds despite our client-side failure we just throw GLXBadFBConfig
(chosen to keep piglit/glx-create-context-core-profile happy, since
nothing else seems to hit it).

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7369>
2020-12-03 04:40:28 +00:00
..
apple meson: use gnu_symbol_visibility argument 2020-06-01 18:59:18 +00:00
tests glx/indirect: Validate the context version in CreateContextAttribs 2020-12-03 04:40:28 +00:00
windows meson: use gnu_symbol_visibility argument 2020-06-01 18:59:18 +00:00
applegl_glx.c Revert "glx: Implement GLX_EXT_no_config_context" 2019-09-26 11:07:13 -04:00
clientattrib.c
clientinfo.c
compsize.c
create_context.c glx/indirect: Validate the context version in CreateContextAttribs 2020-12-03 04:40:28 +00:00
dri2.c
dri2.h
dri2_glx.c glx: Handle create_context in terms of create_context_attribs 2020-12-01 18:40:18 +00:00
dri2_priv.h glx: Delegate the core of glXGetScreenDriver to the GLX screen vtable 2020-10-21 10:24:31 -04:00
dri3_glx.c glx: Handle create_context in terms of create_context_attribs 2020-12-01 18:40:18 +00:00
dri3_priv.h util: rename xmlpool.h to driconf.h 2020-06-22 21:50:12 +00:00
dri_common.c glx: Handle create_context in terms of create_context_attribs 2020-12-01 18:40:18 +00:00
dri_common.h glx: Handle create_context in terms of create_context_attribs 2020-12-01 18:40:18 +00:00
dri_common_interop.c glx/meson: use full include path for dri_interface.h 2019-03-08 18:00:19 +00:00
dri_common_query_renderer.c glx/meson: use full include path for dri_interface.h 2019-03-08 18:00:19 +00:00
drisw_glx.c glx: Handle create_context in terms of create_context_attribs 2020-12-01 18:40:18 +00:00
drisw_priv.h drisw: Cache the depth of the X drawable 2020-01-23 23:03:13 +00:00
driwindows_glx.c Revert "glx: Implement GLX_EXT_no_config_context" 2019-09-26 11:07:13 -04:00
eval.c
g_glxglvnddispatchfuncs.c Revert "glx: Implement GLX_EXT_no_config_context" 2019-09-26 11:07:13 -04:00
g_glxglvnddispatchindices.h
glx_error.c Revert "glx: Fix synthetic error generation in __glXSendError" 2019-05-08 13:16:44 +10:00
glx_error.h
glx_pbuffer.c glx: Eliminate some stub functions for !GLX_DIRECT_RENDERING 2020-12-01 18:40:18 +00:00
glx_query.c glx: Fix SEGV due to dereferencing a NULL ptr from XCB-GLX. 2019-09-04 16:00:10 +00:00
glxclient.h glx: Remove DRI1 2020-12-01 18:40:18 +00:00
glxcmds.c glx: Fix the generated error when indirect contexts are not supported 2020-12-02 16:07:27 +00:00
glxconfig.c Revert "glx: convert glx_config_create_list to one big calloc" 2020-03-04 10:19:48 +00:00
glxconfig.h glx: Add fields for color shifts 2019-08-21 18:36:57 +00:00
glxcurrent.c Revert "glx: Lift sending the MakeCurrent request to top-level code" 2019-09-26 11:07:42 -04:00
glxext.c glx: Remove DRI1 2020-12-01 18:40:18 +00:00
glxextensions.c glx: get rid of memory leak 2020-10-26 12:49:09 +00:00
glxextensions.h glx: let users force-enable/disable indirect GL extensions 2020-10-22 07:47:28 +03:00
glxglvnd.c glx: fix glvnd pointer types 2019-06-20 17:21:37 +01:00
glxglvnd.h
glxglvnddispatchfuncs.h
glxhash.c meson: Test for random_r() 2019-07-30 11:49:09 -07:00
glxhash.h
indirect_glx.c glx/indirect: Validate the context version in CreateContextAttribs 2020-12-03 04:40:28 +00:00
indirect_init.h
indirect_texture_compression.c
indirect_transpose_matrix.c
indirect_vertex_array.c glx: update fallthrough comments 2020-12-01 10:04:41 +01:00
indirect_vertex_array.h
indirect_vertex_array_priv.h
indirect_vertex_program.c
indirect_window_pos.c
meson.build glx: Remove DRI1 2020-12-01 18:40:18 +00:00
packrender.h
packsingle.h
pixel.c
pixelstore.c
query_renderer.c
render2.c
renderpix.c glx: Remove unused indirection for glx_context->fillImage 2019-09-12 13:23:32 -04:00
single2.c
singlepix.c
vertarr.c
xfont.c glx: Fix drawable lookup bugs in glXUseXFont 2019-09-19 21:06:01 -04:00