I have just completed committing all of the code I have for the new interface between libGL and client-side DRI drivers. I've been working on this stuff off and on (mostly off, though) since about June.
At this point *almost* all of the client-side code is in place to support SGIX_fbconifgs and SGIX_pbuffers. The only thing that is missing in libGL is to process the list of __GLcontextModes (i.e., fbconfigs) returned by the driver. On the driver side, I modified the R200 driver to use the new interface, but code needs to be added to generate the list of __GLcontextModes supported by the driver. Once those two parts are done, the R200 driver will be able to support SGIX_fbconfig. Lots of work needs to be done in the driver to support pbuffers, but that's another story.
I have tried to mark-up comments with '\todo' in as many places as possible. This should give people that want to contribute a place to start. I'm not sure how much time I'll be able to put into finishing this over the next few weeks, so I don't know how much I'll get done. My plan is to finish up the __GLcontextModes related work mentioned above and move on to the server-side. In addition to the '\todo' items, the other drivers will need to be modified to use the new interface. Once that is done, we can remove the __driCreateScreen function from each driver and move a fake version to dri_util.c. The fake version will act like the __driUtilCreateScreen already in dri_util.c, but it will call __driCreateNewScreen instead of __driUtilCreateNewScreen.
On the server-side I plan to do some clean-up work and hack-up an implementation of fbconfigs. Basically, libglx.a will just convert the set of GLX visuals to fbconfigs and send those to the client. It will be a hack, but at least then we can advertise GLX_SGIX_fbconfig in our extension string. :) As I do this I will try to mark-up code with '\todo'.
Once this is done, driinterface-0-0-1-branch can probably be merged to the trunk and driinterface-0-0-2-branch can be started. My intention is to merge this stuff into the trunk *after* Alan merges his newmesa-0-0-1-branch work. I'm pretty sure he'll be done with that work first anyway.
The ultimate goal is to make the interface between libglx.a and libGLcore.a the same as the interface between libGL.so and *_dri.so. That will be the task of the driinterface-0-0-2-branch. Hopefully by the time the current branch gets merged into the trunk we'll have a better idea how much work the second phase will be.
Also, I have a Doxygen file for the files that I have marked-up. Where should I put that in the tree?
------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel