Re: DRI backwards compatibility problem from X.Org 6.8.0 onwards

Ian Romanick <idr-r/[email protected]>
Newsgroups gmane.comp.freedesktop.release-wranglers,gmane.comp.video.dri.devel
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.