indices: quad fixes
authorKeith Whitwell <keithw@vmware.com>
Thu, 5 Feb 2009 16:04:13 +0000 (16:04 +0000)
committerKeith Whitwell <keithw@vmware.com>
Thu, 5 Feb 2009 16:04:38 +0000 (16:04 +0000)
src/gallium/auxiliary/indices/u_indices_gen.c
src/gallium/auxiliary/indices/u_indices_gen.py

index 00b99804f257095a98cfcc00d523433c2fb6a38b..01953c32445ae988a1dbf667a11c0299f1886caf 100644 (file)
@@ -176,11 +176,11 @@ static void generate_quadstrip_ushort_first2first(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)(i+0);
-      (out+j+0)[1] = (ushort)(i+1);
+      (out+j+0)[0] = (ushort)(i+2);
+      (out+j+0)[1] = (ushort)(i+0);
       (out+j+0)[2] = (ushort)(i+3);
-      (out+j+3)[0] = (ushort)(i+1);
-      (out+j+3)[1] = (ushort)(i+2);
+      (out+j+3)[0] = (ushort)(i+0);
+      (out+j+3)[1] = (ushort)(i+1);
       (out+j+3)[2] = (ushort)(i+3);
    }
 }
@@ -309,12 +309,12 @@ static void generate_quadstrip_ushort_first2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)(i+1);
+      (out+j+0)[0] = (ushort)(i+0);
       (out+j+0)[1] = (ushort)(i+3);
-      (out+j+0)[2] = (ushort)(i+0);
-      (out+j+3)[0] = (ushort)(i+2);
+      (out+j+0)[2] = (ushort)(i+2);
+      (out+j+3)[0] = (ushort)(i+1);
       (out+j+3)[1] = (ushort)(i+3);
-      (out+j+3)[2] = (ushort)(i+1);
+      (out+j+3)[2] = (ushort)(i+0);
    }
 }
 static void generate_polygon_ushort_first2last(
@@ -443,11 +443,11 @@ static void generate_quadstrip_ushort_last2first(
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
       (out+j+0)[0] = (ushort)(i+3);
-      (out+j+0)[1] = (ushort)(i+0);
-      (out+j+0)[2] = (ushort)(i+1);
+      (out+j+0)[1] = (ushort)(i+2);
+      (out+j+0)[2] = (ushort)(i+0);
       (out+j+3)[0] = (ushort)(i+3);
-      (out+j+3)[1] = (ushort)(i+1);
-      (out+j+3)[2] = (ushort)(i+2);
+      (out+j+3)[1] = (ushort)(i+0);
+      (out+j+3)[2] = (ushort)(i+1);
    }
 }
 static void generate_polygon_ushort_last2first(
@@ -575,11 +575,11 @@ static void generate_quadstrip_ushort_last2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)(i+0);
-      (out+j+0)[1] = (ushort)(i+1);
+      (out+j+0)[0] = (ushort)(i+2);
+      (out+j+0)[1] = (ushort)(i+0);
       (out+j+0)[2] = (ushort)(i+3);
-      (out+j+3)[0] = (ushort)(i+1);
-      (out+j+3)[1] = (ushort)(i+2);
+      (out+j+3)[0] = (ushort)(i+0);
+      (out+j+3)[1] = (ushort)(i+1);
       (out+j+3)[2] = (ushort)(i+3);
    }
 }
@@ -708,11 +708,11 @@ static void generate_quadstrip_uint_first2first(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)(i+0);
-      (out+j+0)[1] = (uint)(i+1);
+      (out+j+0)[0] = (uint)(i+2);
+      (out+j+0)[1] = (uint)(i+0);
       (out+j+0)[2] = (uint)(i+3);
-      (out+j+3)[0] = (uint)(i+1);
-      (out+j+3)[1] = (uint)(i+2);
+      (out+j+3)[0] = (uint)(i+0);
+      (out+j+3)[1] = (uint)(i+1);
       (out+j+3)[2] = (uint)(i+3);
    }
 }
@@ -841,12 +841,12 @@ static void generate_quadstrip_uint_first2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)(i+1);
+      (out+j+0)[0] = (uint)(i+0);
       (out+j+0)[1] = (uint)(i+3);
-      (out+j+0)[2] = (uint)(i+0);
-      (out+j+3)[0] = (uint)(i+2);
+      (out+j+0)[2] = (uint)(i+2);
+      (out+j+3)[0] = (uint)(i+1);
       (out+j+3)[1] = (uint)(i+3);
-      (out+j+3)[2] = (uint)(i+1);
+      (out+j+3)[2] = (uint)(i+0);
    }
 }
 static void generate_polygon_uint_first2last(
@@ -975,11 +975,11 @@ static void generate_quadstrip_uint_last2first(
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
       (out+j+0)[0] = (uint)(i+3);
-      (out+j+0)[1] = (uint)(i+0);
-      (out+j+0)[2] = (uint)(i+1);
+      (out+j+0)[1] = (uint)(i+2);
+      (out+j+0)[2] = (uint)(i+0);
       (out+j+3)[0] = (uint)(i+3);
-      (out+j+3)[1] = (uint)(i+1);
-      (out+j+3)[2] = (uint)(i+2);
+      (out+j+3)[1] = (uint)(i+0);
+      (out+j+3)[2] = (uint)(i+1);
    }
 }
 static void generate_polygon_uint_last2first(
@@ -1107,11 +1107,11 @@ static void generate_quadstrip_uint_last2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)(i+0);
-      (out+j+0)[1] = (uint)(i+1);
+      (out+j+0)[0] = (uint)(i+2);
+      (out+j+0)[1] = (uint)(i+0);
       (out+j+0)[2] = (uint)(i+3);
-      (out+j+3)[0] = (uint)(i+1);
-      (out+j+3)[1] = (uint)(i+2);
+      (out+j+3)[0] = (uint)(i+0);
+      (out+j+3)[1] = (uint)(i+1);
       (out+j+3)[2] = (uint)(i+3);
    }
 }
@@ -1258,11 +1258,11 @@ static void translate_quadstrip_ubyte2ushort_first2first(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+0];
-      (out+j+0)[1] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+2];
+      (out+j+0)[1] = (ushort)in[i+0];
       (out+j+0)[2] = (ushort)in[i+3];
-      (out+j+3)[0] = (ushort)in[i+1];
-      (out+j+3)[1] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+0];
+      (out+j+3)[1] = (ushort)in[i+1];
       (out+j+3)[2] = (ushort)in[i+3];
    }
 }
@@ -1411,12 +1411,12 @@ static void translate_quadstrip_ubyte2ushort_first2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+0];
       (out+j+0)[1] = (ushort)in[i+3];
-      (out+j+0)[2] = (ushort)in[i+0];
-      (out+j+3)[0] = (ushort)in[i+2];
+      (out+j+0)[2] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+1];
       (out+j+3)[1] = (ushort)in[i+3];
-      (out+j+3)[2] = (ushort)in[i+1];
+      (out+j+3)[2] = (ushort)in[i+0];
    }
 }
 static void translate_polygon_ubyte2ushort_first2last(
@@ -1565,11 +1565,11 @@ static void translate_quadstrip_ubyte2ushort_last2first(
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
       (out+j+0)[0] = (ushort)in[i+3];
-      (out+j+0)[1] = (ushort)in[i+0];
-      (out+j+0)[2] = (ushort)in[i+1];
+      (out+j+0)[1] = (ushort)in[i+2];
+      (out+j+0)[2] = (ushort)in[i+0];
       (out+j+3)[0] = (ushort)in[i+3];
-      (out+j+3)[1] = (ushort)in[i+1];
-      (out+j+3)[2] = (ushort)in[i+2];
+      (out+j+3)[1] = (ushort)in[i+0];
+      (out+j+3)[2] = (ushort)in[i+1];
    }
 }
 static void translate_polygon_ubyte2ushort_last2first(
@@ -1717,11 +1717,11 @@ static void translate_quadstrip_ubyte2ushort_last2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+0];
-      (out+j+0)[1] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+2];
+      (out+j+0)[1] = (ushort)in[i+0];
       (out+j+0)[2] = (ushort)in[i+3];
-      (out+j+3)[0] = (ushort)in[i+1];
-      (out+j+3)[1] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+0];
+      (out+j+3)[1] = (ushort)in[i+1];
       (out+j+3)[2] = (ushort)in[i+3];
    }
 }
@@ -1870,11 +1870,11 @@ static void translate_quadstrip_ubyte2uint_first2first(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+0];
-      (out+j+0)[1] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+2];
+      (out+j+0)[1] = (uint)in[i+0];
       (out+j+0)[2] = (uint)in[i+3];
-      (out+j+3)[0] = (uint)in[i+1];
-      (out+j+3)[1] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+0];
+      (out+j+3)[1] = (uint)in[i+1];
       (out+j+3)[2] = (uint)in[i+3];
    }
 }
@@ -2023,12 +2023,12 @@ static void translate_quadstrip_ubyte2uint_first2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+0];
       (out+j+0)[1] = (uint)in[i+3];
-      (out+j+0)[2] = (uint)in[i+0];
-      (out+j+3)[0] = (uint)in[i+2];
+      (out+j+0)[2] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+1];
       (out+j+3)[1] = (uint)in[i+3];
-      (out+j+3)[2] = (uint)in[i+1];
+      (out+j+3)[2] = (uint)in[i+0];
    }
 }
 static void translate_polygon_ubyte2uint_first2last(
@@ -2177,11 +2177,11 @@ static void translate_quadstrip_ubyte2uint_last2first(
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
       (out+j+0)[0] = (uint)in[i+3];
-      (out+j+0)[1] = (uint)in[i+0];
-      (out+j+0)[2] = (uint)in[i+1];
+      (out+j+0)[1] = (uint)in[i+2];
+      (out+j+0)[2] = (uint)in[i+0];
       (out+j+3)[0] = (uint)in[i+3];
-      (out+j+3)[1] = (uint)in[i+1];
-      (out+j+3)[2] = (uint)in[i+2];
+      (out+j+3)[1] = (uint)in[i+0];
+      (out+j+3)[2] = (uint)in[i+1];
    }
 }
 static void translate_polygon_ubyte2uint_last2first(
@@ -2329,11 +2329,11 @@ static void translate_quadstrip_ubyte2uint_last2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+0];
-      (out+j+0)[1] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+2];
+      (out+j+0)[1] = (uint)in[i+0];
       (out+j+0)[2] = (uint)in[i+3];
-      (out+j+3)[0] = (uint)in[i+1];
-      (out+j+3)[1] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+0];
+      (out+j+3)[1] = (uint)in[i+1];
       (out+j+3)[2] = (uint)in[i+3];
    }
 }
@@ -2482,11 +2482,11 @@ static void translate_quadstrip_ushort2ushort_first2first(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+0];
-      (out+j+0)[1] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+2];
+      (out+j+0)[1] = (ushort)in[i+0];
       (out+j+0)[2] = (ushort)in[i+3];
-      (out+j+3)[0] = (ushort)in[i+1];
-      (out+j+3)[1] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+0];
+      (out+j+3)[1] = (ushort)in[i+1];
       (out+j+3)[2] = (ushort)in[i+3];
    }
 }
@@ -2635,12 +2635,12 @@ static void translate_quadstrip_ushort2ushort_first2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+0];
       (out+j+0)[1] = (ushort)in[i+3];
-      (out+j+0)[2] = (ushort)in[i+0];
-      (out+j+3)[0] = (ushort)in[i+2];
+      (out+j+0)[2] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+1];
       (out+j+3)[1] = (ushort)in[i+3];
-      (out+j+3)[2] = (ushort)in[i+1];
+      (out+j+3)[2] = (ushort)in[i+0];
    }
 }
 static void translate_polygon_ushort2ushort_first2last(
@@ -2789,11 +2789,11 @@ static void translate_quadstrip_ushort2ushort_last2first(
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
       (out+j+0)[0] = (ushort)in[i+3];
-      (out+j+0)[1] = (ushort)in[i+0];
-      (out+j+0)[2] = (ushort)in[i+1];
+      (out+j+0)[1] = (ushort)in[i+2];
+      (out+j+0)[2] = (ushort)in[i+0];
       (out+j+3)[0] = (ushort)in[i+3];
-      (out+j+3)[1] = (ushort)in[i+1];
-      (out+j+3)[2] = (ushort)in[i+2];
+      (out+j+3)[1] = (ushort)in[i+0];
+      (out+j+3)[2] = (ushort)in[i+1];
    }
 }
 static void translate_polygon_ushort2ushort_last2first(
@@ -2941,11 +2941,11 @@ static void translate_quadstrip_ushort2ushort_last2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+0];
-      (out+j+0)[1] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+2];
+      (out+j+0)[1] = (ushort)in[i+0];
       (out+j+0)[2] = (ushort)in[i+3];
-      (out+j+3)[0] = (ushort)in[i+1];
-      (out+j+3)[1] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+0];
+      (out+j+3)[1] = (ushort)in[i+1];
       (out+j+3)[2] = (ushort)in[i+3];
    }
 }
@@ -3094,11 +3094,11 @@ static void translate_quadstrip_ushort2uint_first2first(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+0];
-      (out+j+0)[1] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+2];
+      (out+j+0)[1] = (uint)in[i+0];
       (out+j+0)[2] = (uint)in[i+3];
-      (out+j+3)[0] = (uint)in[i+1];
-      (out+j+3)[1] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+0];
+      (out+j+3)[1] = (uint)in[i+1];
       (out+j+3)[2] = (uint)in[i+3];
    }
 }
@@ -3247,12 +3247,12 @@ static void translate_quadstrip_ushort2uint_first2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+0];
       (out+j+0)[1] = (uint)in[i+3];
-      (out+j+0)[2] = (uint)in[i+0];
-      (out+j+3)[0] = (uint)in[i+2];
+      (out+j+0)[2] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+1];
       (out+j+3)[1] = (uint)in[i+3];
-      (out+j+3)[2] = (uint)in[i+1];
+      (out+j+3)[2] = (uint)in[i+0];
    }
 }
 static void translate_polygon_ushort2uint_first2last(
@@ -3401,11 +3401,11 @@ static void translate_quadstrip_ushort2uint_last2first(
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
       (out+j+0)[0] = (uint)in[i+3];
-      (out+j+0)[1] = (uint)in[i+0];
-      (out+j+0)[2] = (uint)in[i+1];
+      (out+j+0)[1] = (uint)in[i+2];
+      (out+j+0)[2] = (uint)in[i+0];
       (out+j+3)[0] = (uint)in[i+3];
-      (out+j+3)[1] = (uint)in[i+1];
-      (out+j+3)[2] = (uint)in[i+2];
+      (out+j+3)[1] = (uint)in[i+0];
+      (out+j+3)[2] = (uint)in[i+1];
    }
 }
 static void translate_polygon_ushort2uint_last2first(
@@ -3553,11 +3553,11 @@ static void translate_quadstrip_ushort2uint_last2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+0];
-      (out+j+0)[1] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+2];
+      (out+j+0)[1] = (uint)in[i+0];
       (out+j+0)[2] = (uint)in[i+3];
-      (out+j+3)[0] = (uint)in[i+1];
-      (out+j+3)[1] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+0];
+      (out+j+3)[1] = (uint)in[i+1];
       (out+j+3)[2] = (uint)in[i+3];
    }
 }
@@ -3706,11 +3706,11 @@ static void translate_quadstrip_uint2ushort_first2first(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+0];
-      (out+j+0)[1] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+2];
+      (out+j+0)[1] = (ushort)in[i+0];
       (out+j+0)[2] = (ushort)in[i+3];
-      (out+j+3)[0] = (ushort)in[i+1];
-      (out+j+3)[1] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+0];
+      (out+j+3)[1] = (ushort)in[i+1];
       (out+j+3)[2] = (ushort)in[i+3];
    }
 }
@@ -3859,12 +3859,12 @@ static void translate_quadstrip_uint2ushort_first2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+0];
       (out+j+0)[1] = (ushort)in[i+3];
-      (out+j+0)[2] = (ushort)in[i+0];
-      (out+j+3)[0] = (ushort)in[i+2];
+      (out+j+0)[2] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+1];
       (out+j+3)[1] = (ushort)in[i+3];
-      (out+j+3)[2] = (ushort)in[i+1];
+      (out+j+3)[2] = (ushort)in[i+0];
    }
 }
 static void translate_polygon_uint2ushort_first2last(
@@ -4013,11 +4013,11 @@ static void translate_quadstrip_uint2ushort_last2first(
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
       (out+j+0)[0] = (ushort)in[i+3];
-      (out+j+0)[1] = (ushort)in[i+0];
-      (out+j+0)[2] = (ushort)in[i+1];
+      (out+j+0)[1] = (ushort)in[i+2];
+      (out+j+0)[2] = (ushort)in[i+0];
       (out+j+3)[0] = (ushort)in[i+3];
-      (out+j+3)[1] = (ushort)in[i+1];
-      (out+j+3)[2] = (ushort)in[i+2];
+      (out+j+3)[1] = (ushort)in[i+0];
+      (out+j+3)[2] = (ushort)in[i+1];
    }
 }
 static void translate_polygon_uint2ushort_last2first(
@@ -4165,11 +4165,11 @@ static void translate_quadstrip_uint2ushort_last2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (ushort)in[i+0];
-      (out+j+0)[1] = (ushort)in[i+1];
+      (out+j+0)[0] = (ushort)in[i+2];
+      (out+j+0)[1] = (ushort)in[i+0];
       (out+j+0)[2] = (ushort)in[i+3];
-      (out+j+3)[0] = (ushort)in[i+1];
-      (out+j+3)[1] = (ushort)in[i+2];
+      (out+j+3)[0] = (ushort)in[i+0];
+      (out+j+3)[1] = (ushort)in[i+1];
       (out+j+3)[2] = (ushort)in[i+3];
    }
 }
@@ -4318,11 +4318,11 @@ static void translate_quadstrip_uint2uint_first2first(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+0];
-      (out+j+0)[1] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+2];
+      (out+j+0)[1] = (uint)in[i+0];
       (out+j+0)[2] = (uint)in[i+3];
-      (out+j+3)[0] = (uint)in[i+1];
-      (out+j+3)[1] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+0];
+      (out+j+3)[1] = (uint)in[i+1];
       (out+j+3)[2] = (uint)in[i+3];
    }
 }
@@ -4471,12 +4471,12 @@ static void translate_quadstrip_uint2uint_first2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+0];
       (out+j+0)[1] = (uint)in[i+3];
-      (out+j+0)[2] = (uint)in[i+0];
-      (out+j+3)[0] = (uint)in[i+2];
+      (out+j+0)[2] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+1];
       (out+j+3)[1] = (uint)in[i+3];
-      (out+j+3)[2] = (uint)in[i+1];
+      (out+j+3)[2] = (uint)in[i+0];
    }
 }
 static void translate_polygon_uint2uint_first2last(
@@ -4625,11 +4625,11 @@ static void translate_quadstrip_uint2uint_last2first(
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
       (out+j+0)[0] = (uint)in[i+3];
-      (out+j+0)[1] = (uint)in[i+0];
-      (out+j+0)[2] = (uint)in[i+1];
+      (out+j+0)[1] = (uint)in[i+2];
+      (out+j+0)[2] = (uint)in[i+0];
       (out+j+3)[0] = (uint)in[i+3];
-      (out+j+3)[1] = (uint)in[i+1];
-      (out+j+3)[2] = (uint)in[i+2];
+      (out+j+3)[1] = (uint)in[i+0];
+      (out+j+3)[2] = (uint)in[i+1];
    }
 }
 static void translate_polygon_uint2uint_last2first(
@@ -4777,11 +4777,11 @@ static void translate_quadstrip_uint2uint_last2last(
   unsigned i, j;
   (void)j;
   for (j = i = 0; j < nr; j+=6, i+=2) { 
-      (out+j+0)[0] = (uint)in[i+0];
-      (out+j+0)[1] = (uint)in[i+1];
+      (out+j+0)[0] = (uint)in[i+2];
+      (out+j+0)[1] = (uint)in[i+0];
       (out+j+0)[2] = (uint)in[i+3];
-      (out+j+3)[0] = (uint)in[i+1];
-      (out+j+3)[1] = (uint)in[i+2];
+      (out+j+3)[0] = (uint)in[i+0];
+      (out+j+3)[1] = (uint)in[i+1];
       (out+j+3)[2] = (uint)in[i+3];
    }
 }
index 397eea306b21c2abeb9246f3e3b52c916af995b6..40b047bb585f214c5eb2bfbd9a8e0d1807a9e345 100644 (file)
@@ -139,6 +139,9 @@ def do_tri( intype, outtype, ptr, v0, v1, v2, inpv, outpv ):
         else:
             tri( intype, outtype, ptr, v2, v0, v1 )
 
+def do_quad( intype, outtype, ptr, v0, v1, v2, v3, inpv, outpv ):
+    do_tri( intype, outtype, ptr+'+0',  v0, v1, v3, inpv, outpv );
+    do_tri( intype, outtype, ptr+'+3',  v1, v2, v3, inpv, outpv );
 
 def name(intype, outtype, inpv, outpv, prim):
     if intype == GENERATE:
@@ -234,8 +237,7 @@ def polygon(intype, outtype, inpv, outpv):
 def quads(intype, outtype, inpv, outpv):
     preamble(intype, outtype, inpv, outpv, prim='quads')
     print '  for (j = i = 0; j < nr; j+=6, i+=4) { '
-    do_tri( intype, outtype, 'out+j+0',  'i+0', 'i+1', 'i+3', inpv, outpv );
-    do_tri( intype, outtype, 'out+j+3',  'i+1', 'i+2', 'i+3', inpv, outpv );
+    do_quad( intype, outtype, 'out+j', 'i+0', 'i+1', 'i+2', 'i+3', inpv, outpv );
     print '   }'
     postamble()
 
@@ -243,8 +245,7 @@ def quads(intype, outtype, inpv, outpv):
 def quadstrip(intype, outtype, inpv, outpv):
     preamble(intype, outtype, inpv, outpv, prim='quadstrip')
     print '  for (j = i = 0; j < nr; j+=6, i+=2) { '
-    do_tri( intype, outtype, 'out+j+0',  'i+0', 'i+1', 'i+3', inpv, outpv );
-    do_tri( intype, outtype, 'out+j+3',  'i+1', 'i+2', 'i+3', inpv, outpv );
+    do_quad( intype, outtype, 'out+j', 'i+2', 'i+0', 'i+1', 'i+3', inpv, outpv );
     print '   }'
     postamble()