From: Jon S. <jon...@ya...> - 2003-08-30 18:30:12
|
What do you think about trying to remove all X specific references from the drivers since the drivers can go into environments like DirectFB which don't have GLX? The standalone versions already do this. There is only minor usage of X declarations in the drivers. The other goal of removing X specific code would be to allow the same binary drivers to be used in multiple environments such as XFree, DirectFB, or a new windowing systems. It would be easy to write an SDL wrapper. I'm currently using this API, I don't care if we change it, I just wanted to avoid X variables like Display*. This is all checked into mesa /newtree/src/mesa/drivers/dri/r200. Radeon versions work and I think MGA works. R128 does not work. void *__driCreateScreen(struct DRIDriverRec *driver, struct DRIDriverContextRec *driverContext); GLboolean r200CreateContext( const __GLcontextModes *glVisual, __DRIcontextPrivate *driContextPriv, void *sharedContextPrivate); GLboolean r200CreateBuffer( __DRIscreenPrivate *driScrnPriv, __DRIdrawablePrivate *driDrawPriv, const __GLcontextModes *mesaVis, GLboolean isPixmap ) int radeonInitContextModes( const DRIDriverContext *ctx, int *numModes, const __GLcontextModes **modes) The only other area is glxextensions. It should be simple to still provide glxextensions capability but isolate the drivers from X header files. The standalone version supports a subset GLX interface, it is implemented in src/glx/mini. This code refers to the X header files to implement GLX. ===== Jon Smirl jon...@ya... __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com |