From: Brian P. <br...@tu...> - 2002-02-26 21:04:13
|
"Mike A. Harris" wrote: > > On Tue, 26 Feb 2002, Brian Paul wrote: > > >> what I understood, 3.3.6 doesn't use GLX, which is why it didn't > >> work. I'm not quite clear on all of this however, so please > >> correct me if I'm wrong. > > > >Hi Mike, > > > >Sorry for not replying sooner. XFree86 4.2 does not support libGL > >rendering to 3.3.6 servers. > > No prob, I thought my message to you must have got killed by a > one of my frequent VPN outages. ;o) > > >The option we're talking about is the 'GlxBuiltInXMesa' token seen > >in xc/lib/GL/Imakefile. If this token is defined, Mesa and its Xlib > >driver will be built into libGL so that if the target server doesn't > >support the GLX extension, we'll fall back to Mesa rendering with > >Xlib calls. > > > >This option is on the DRI trunk now and should wind up in XFree86 4.3. > >It's not enabled by default. I should do a test build with it enabled > >to be sure it's still working. It's been many months since I touched > >that code. > > > >If you'd like this feature for Red Hat Linux before XFree86 4.3 is released, > >it might not be too hard to move the xc/lib/GL code from the DRI trunk > >onto a XFree86 4.2 tree. > > Hmm, that's a bit more experimental of a codepath than I can > probably get away with, although DRI trunk would be nice for > gamers for sure most likely. ;o) > > How difficult would it be for me to backport the necessary > changes to 3.4.2? What part of the code should I look at? I'm > not too familiar with the current codebase in DRI CVS. It's not so much a Mesa issue as a libGL issue. The XMesa code hasn't changed too much from Mesa 3.4.x to Mesa 4.x (compare the Mesa/src/X/ directories). I guess the problem is in the libGL code and Imakefiles. In the glx code, grep for GLX_BUILT_IN_XMESA to see where the glx code was modified for this feature. The Imakefiles have changed quite a bit and it would be hard to reconcile the differences. If you want to backport to 3.4.2 in XFree86 4.2 then start by looking for the GLX_BUILT_IN_XMESA symbol. Then probably move the Mesa 4.x X/fakeglx.c, X/realglx.c, X/glxapi.[ch] files back to Mesa 3.4.x. Your modified Imakefiles for libGL should already be modified to build the Mesa .o files in libGL.so. > In the worst case, I can revert back to our horrible hack of > using the external Mesa patched with DRI support. I just wanted > to explore all sane possibilities first to avoid our current > insanity. ;o) Right. -Brian |