glXQueryServerString is weirdly restrictive
Submitted by Adam Jackson
Assigned to mes..@..op.org
(This is with reference to src/glx/glxcmds.c; other implementations in the tree might have similar issues, I haven't checked)
In principle you might want to query GLX_VENDOR_NAMES_EXT if you're trying to do something clever with glvnd; other strings are imaginable for other possible extensions. But at the moment the call to __glXQueryServerString is unreachable, because of the 'default: return NULL;' in the switch statement. Part of the reason for this is that the
priv->serverXXX strings are saved in the GLX display state and are manually freed at shutdown. If we returned arbitrary strings too, we'd need to track them in a hash table; and once you're doing that, why not do that for all server strings.
This probably also requires making __glXQueryServerString robust against getting errors instead of replies.