I'm normally using the libGL from my 2003.10.05 snapshot packages, and the current r200 driver segfaults with that (works with current libGL):
0x0eb1a908 in driBindContext2 (dpy=0x100160f8, scrn=0, draw=102760450, read=102760450, gc=0x1001a6c0) at dri_util.c:447 447 pcp->driDrawablePriv = pdp; (gdb) p pcp $1 = (__DRIcontextPrivate *) 0x0
Worked before today's CVS update (last one was about a week ago).
I can assure that when I discovered the nature of this bug, there was a lot of yelling, cursing, and general unhappiness. The bug fixes for XFree86 bugs 1091 & 1092 made it necessary to add fields to __GLXvertArrayStateRec. That structure is embedded in __GLXattributeRec, which is embedded in __GLXcontextRec. This structure is shared between libGL and the DRI driver. Adding fields in the middle changes the positions of all the fields after, which causes problems.
I think I can hack up a work around. I think I'll revert to the old structure for __GLXvertArrayStateRec (obvious). The old structure (stored in __GLXcontextRec::state will be unused. I'll add a private pointer to the end of __GLXcontextRec to the new __GLXattribute structure. I'll replace the entire __GLXattribute structre to make PushCLientAttrib "sane". Since the new pointer will be private, libGL can point it to whatever it wants and the client-side driver won't care. Sound good?
I guess it's a good thing none of my "fixes" went into the XFree86 tree yet. :)
I hope that I win the lottery so that I can quit my job and have time to completely re-write all of libGL in the XFree86 5.0 time-frame. :(
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel
