I spent some time today pulling the DRI interface structures and function prototypes out of glxclient.h. I came across one snag that I missed before. It turns out that the bindContext2 and unbindContext2 methods in __DRIcontextRec are passed pointers to GLXContext structures. I don't think that is the right division. unbindContext2 only uses the GLXContext to get a pointer to the __DRIcontextRec. bindContext2 does the same, but it also uses the GLXContext to get the __GLcontextModes structure for the context (when DRI_NEW_INTERFACE_ONLY is defined).

It should only take a little work to remove the usage of 'gc->modes'. When that is done, bindContext2 and unbindContext2 could be passed a pointer to the __DRIcontextRec. I think this is the right thing to do.

The only problem is that it would break binary compatibility with XFree86 4.4.0. :( So, it looks like I get to add yet another entry-point to __DRIcontextRec because I couldn't get things right the Nth time. :(

There also seem to be some issues with drivers using CARD32. That type comes from X, so it should probably be replaced with something window-system agnostic. Would int32_t work for everyone?




------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to