server, client and general GLX extensions and version numbers

Ian Romanick idr at
Wed Dec 6 12:02:06 PST 2006

Hash: SHA1

Brian Paul wrote:
> 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).

Yes. ++

>> 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
> GLX_ARB_get_proc_address.
> Equivalent, but independent things.

Brian is correct, but...

The Linux OpenGL ABI *requires* that glXGetProcAddressARB be available
at all times.  This means that on Linux you can safely assume that
glXGetProcAddressARB will exist and be functional.

Version: GnuPG v1.4.5 (GNU/Linux)


More information about the xorg mailing list