unfortunately it was only a partial fix (but was enough for that particular program)
heres a new one: (and maybe it should be handeld this way with GL_QUAD_STRIP, too) --- radeon_vtxfmt.c_orig Fri Mar 21 17:22:23 2003 +++ radeon_vtxfmt.c Tue Mar 25 07:45:52 2003 @@ -312,7 +312,14 @@ return 2; } case GL_TRIANGLE_STRIP: - ovf = MIN2( nr-1, 2 ); + if (nr == 0) /* dont let verts go negative! */ + return 0; + if (nr == 1) /* copy the right one ? */ + ovf = 1; + else if (nr == 2) /* copy 2 verts, not only one */ + ovf = 2; + else + ovf = MIN2( nr-1, 2 ); for (i = 0 ; i < ovf ; i++) copy_vertex( rmesa, nr-ovf+i, tmp[i] ); return i;
Perhaps I'm not reading it right, but isn't that the same as:
ovf = MIN2( nr, 2 ); for (i = 0 ; i < ovf ; i++) copy_vertex( rmesa, nr-ovf+i, tmp[i] ); return i;
In both cases if nr==0 no work is done and 0 is returned. If nr==1 one vertex is copied and 1 is returned. In all other cases 2 vertices are copied and 2 is returned.
------------------------------------------------------- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel