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;could that be a bit faster in the hole thing?
--- radeon_vtxfmt.c Tue Mar 25 07:57:34 2003
+++ radeon_vtxfmt.c_orig Fri Mar 21 17:22:23 2003
@@ -312,17 +312,7 @@
return 2;
}
case GL_TRIANGLE_STRIP:
- if (nr < 3)
- {
- if (nr == 2) /* copy 2 verts, not only one */
- ovf = 2;
- else if (nr == 1) /* copy the right one ? */
- ovf = 1;
- else /* nr==0: dont let verts go negative! */
- return 0;
- }
- else
- ovf = MIN2( nr-1, 2 );
+ ovf = MIN2( nr-1, 2 );
for (i = 0 ; i < ovf ; i++)
copy_vertex( rmesa, nr-ovf+i, tmp[i] );
return i;Am 2003.03.24 22:13:12 +0100 schrieb(en) Keith Whitwell:
Andreas Stenglein wrote:this patch helps for the demo. but someone more familiar with radeon_vtxfmt should check if it really fixes all cases...
I think in case of GL_QUAD_STRIP we should check for 0, too. (and maybe for 1?)
--- radeon_vtxfmt.c_orig Fri Mar 21 17:22:23 2003 +++ radeon_vtxfmt.c Mon Mar 24 21:52:58 2003 @@ -312,6 +312,8 @@ return 2; } case GL_TRIANGLE_STRIP: + if (nr == 0) /* dont let verts go negative! */ + return 0; ovf = MIN2( nr-1, 2 ); for (i = 0 ; i < ovf ; i++) copy_vertex( rmesa, nr-ovf+i, tmp[i] );
Good catch!
I'll commit fixes for this.
Keith
------------------------------------------------------- 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
