On 12/22/05, Raphael fenix@club-internet.fr wrote:
On Friday 16 December 2005 02:26, Aric Cyr wrote:
Raphael <fenix <at> club-internet.fr> writes:
On Thursday 15 December 2005 19:55, Jesse Allen wrote:
You really don't need to use glXQueryServerString() and glXQueryClientString(). It would be better, easier (not strcmp) and more correct to just use glXQueryVersion(). glXQueryVersion will automatically report the version common to both the client and server (so in this case 1.2).
No, we cannot
- glXGetFBConfigs is implemented by glx client (normally when glx client
version > 1.2 but in many 1.2 implementations its provided by Xorg).
- glXQueryDrawable is only implemented by glx server (when glx server version
1.2)
- for others calls we check if client version > 1.2 else we use SGIX extension
Sorry, I think I was asleep when I posted that. What I meant to say is that we don't need any of the glXQueryServerString or glXQueryClientString calls, since we can and should just use glXQueryExtensionsString. In fact, this is what the code does, but it also passes around the server and client strings to each of the query_functions, even though none of them use those parameters. I guess you put those in for future use, but I think they will never get used and just clutter things up.
i thought that DRI implemented GLX 1.3 specs but seems they use a too older x code :( http://cvs.sourceforge.net/viewcvs.py/dri/xc/xc/programs/Xserver/GL/glx/
Too old perhaps, but that what DRI (and hence ATI) are using. Both support most of the 1.3 features so there really isn't much of an issue. The problem is that we cannot assume 1.3 regardless of how old 1.2 is. The reason for the glx version is so that we can do the right thing in any case.
Not really, many of GLX features are supported by glx clients. And only old clients (ie X versions) reports 1.2 caps (and generaly they support 1.3 extensions) I have only problems with "1.2 glx servers" (who don't support drawable queries), who is the DRI / ATI configuration :(
By drawable queries do you glXDrawableAttribARB? There is zero documentation for that function, and the entire GLX_ARB_render_texture extension. It seems like the ARB dropped the whole idea. Last mention of it was in 2002, from what I could find. I don't think we can rely on this extension to implement wglSetPbuffersAttribARB(). Maybe framebuffer objects would be a better solution, which ATI and nVidia both support now.
Also seems like we should be relying on glXGetProcAddress() but need to be using glXGetProcAddressARB() since nVidia apparently doesn't export the former.
??? where you see glXGetProcAddress use ?
Ya I checked the code after I sent this. I just happened to be reading the thread that I mentioned and thought it would be good advice to throw into the mail.
Regards, Aric
-- Aric Cyr <Aric.Cyr at gmail dot com> (http://acyr.net)