[Mesa3d-dev] Re: recent changes to Xgl
davidr at novell.com
Tue Jun 14 21:18:03 PDT 2005
On Tue, 2005-06-14 at 19:27 +0200, Matthias Hopf wrote:
> Just a sidenote:
> > > The Xgl displatch table needs to default to passing these calls onto
> > > libGL unless it is a remote call and the table has been overwritten
> > > with the GLX versions. I don't think you initially filled the dispatch
> > > table with the libGL version of the calls so you are just getting the
> > > default table of noop implementations. You have to dlopen(libGL) and
> > > get the symbols explicitly otherwise you'll get the Xgl versions.
> > >
> > We shouldn't have to dlopen libGL. However, we could do that if we found
> > it useful.
I was talking about the core functions here, those that are part of
OpenGL 1.2 or whatever we like the minimum requirement to be. Extension
function pointers are already looked up using glXProcAddress/dlopen or
some other platform specific solution through glitz.
> We definitively will have to use dlopen for libGL in the future, if Xglx
> should work with older libGLs. I guess it is not needed if this is not
> a requirement.
> Short explanation: in former times you had to look up function pointers
> with glProcAddressARB(), while in newer standards (1.4 AFAIR) the
> function pointer is called glProcAddress(), and the ARB variant is no
> longer allowed to exist! At least the prototypes have vanished, I doubt
> the function entry in the libraries will vanish soon (to remain
> backwards compatible), but that could change...
> I don't exactly understand what the ARB drove to nuke the ARB function
> prototype. It really made portable programming a lot more difficult.
More information about the xorg