Andreas Stenglein wrote:
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

Reply via email to