server, client and general GLX extensions and version numbers
brian.paul at tungstengraphics.com
Tue Dec 5 07:49:35 PST 2006
Tomas Carnecky wrote:
> Brian Paul wrote:
>>Most GLX extensions require both client and server-side support, but
>>some are client-side only (like GLX_ARB_get_proc_address) and some are
>>server-side only (can't think of any off-hand).
> While we're at it, the OpenGL code on Wine also needs to query GL/GLX to
> see which extensions are supported, and because of buggy (proprietary
> ATI) drivers some workarounds are necessary.
> Where is it defined how to correctly test whether an extension is
> supported? I haven't seen in any spec that either the client, server or
> global extension string should be queried. So, is it true that, for
> example, to test for GLX_ARB_get_proc_address the client extension
> string can be used on all drivers or can a driver choose to support this
> extension only if the 'global' extension strings contains this string?
I think you can safely use glXQueryExtensionsString() all the time.
It should be a complete list of all GLX extensions that are available
to you (those that are supported by both client&server, plus those
that are client-side only).
> The same for the versions: can I count on GLX_ARB_get_proc_address if
> the client version is >=1.4 or does the global version need to be >=1.4?
If you have glx 1.4, you'll have glXGetProcAddress().
The glXGetProcAddressARB() function is defined by
Equivalent, but independent things.
More information about the xorg