From: David R. <da...@no...> - 2005-06-08 11:45:56
|
On Wed, 2005-06-08 at 00:45 -0400, Jon Smirl wrote: > On 6/8/05, Jon Smirl <jon...@gm...> wrote: > > Somewhere there must be a dispatch table for remote GLX calls versus > > the local ones. My guess would be that neither of these are getting > > activated and you are just defaulting into the all noop one. It is not > > clear to me if the noop dispatch table being hit is generated from the > > mesa library or GLX code. > > I can't see any place in Xgl where you dlopen libGL and copy the > symbols out of it and into your dispatch table. Xgl now contains the > glGetString symbol. When glitz tries to use glGetString it gets the > Xgl implementation of glGetString instead of the libGL one. No, Xgl doesn't contain any gl* symbols. Or at least it shouldn't. glcore is all in the mgl namespace. A call to glGetString inside Xgl should get the libGL one. > > 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. -David |