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

Reply via email to