From: Ian R. <id...@us...> - 2004-12-13 19:29:18
|
Alan Hourihane wrote: > There's a backwards compatibility breakage with X.Org 6.8.0 and beyond > because of revision 1.3 of the file xc/include/glxint.h. So, those > that provide binary drivers that were compiled against X.Org 6.7.x or > XFree86 4.4.0 or earlier will break as well. So, the real answer to this problem is that the interface between libglx.a, libGLcore.a, and the DDX is horribly broken. With respect to 3D, there is no clean division between the three. Each directly allocates, rearranges, and modifies various datastructures. For the current Xorg release (6.8.x), I'm content to leave things as they were in 6.8.0. For the next major release (6.9.0) I believe that the entire existing interface on the server-side needs to be pitched in the garbage. Ideally, we want the libglx / libGLcore interface to be identical to the libGL / *_dri.so interface. On the client-side libGL *does* provide and function to allocate and initialize (with default values) __GLcontextModesRec structures. > > The problem stems from these additional fields in the GLXvisualConfigRec > which actually are not needed. > > int multiSampleSize; > int nMultiSampleBuffers; > int visualSelectGroup; > > These fields are already in the new GLXFBConfigRec for the later FB visual > selection code. Hmm...this is bad. Anything that makes any chages to GLXvisualConfigRec will break the hell out of a lot of things. That's why the "real" selection code in libglx abandoned that structure in favor of __GLcontextModesRec. |