don't fill in linear fetch_elts
authorZack Rusin <zack@tungstengraphics.com>
Sun, 4 May 2008 04:44:27 +0000 (00:44 -0400)
committerZack Rusin <zack@tungstengraphics.com>
Thu, 8 May 2008 19:26:13 +0000 (15:26 -0400)
src/gallium/auxiliary/draw/draw_pt_varray.c
src/gallium/auxiliary/draw/draw_pt_varray_tmp.h

index 916373acc881e1fc13c4a324d383bfa08f823e77..fb1b59d53e11d59084744dd038267957e2233ae3 100644 (file)
@@ -78,6 +78,7 @@ static void varray_flush(struct varray_frontend *varray)
 static void varray_flush_linear(struct varray_frontend *varray)
 {
    if (varray->draw_count) {
+#if 0
       debug_printf("FLUSH LINEAR fc = %d, dc = %d\n",
                    varray->fetch_count,
                    varray->draw_count);
@@ -86,8 +87,9 @@ static void varray_flush_linear(struct varray_frontend *varray)
                    varray->fetch_elts[varray->fetch_count-1],
                    varray->draw_elts[0],
                    varray->draw_elts[varray->draw_count-1]);
+#endif
       varray->middle->run_linear(varray->middle,
-                                 varray->fetch_elts[0],
+                                 varray->fetch_start,
                                  varray->fetch_count,
                                  varray->draw_elts,
                                  varray->draw_count);
index 67baafa3be45ae3b629bc177ceebb0da453c1499..a9f844a35717ed7714d8425991f1ed7f279b3701 100644 (file)
@@ -87,8 +87,9 @@ static void FUNC(struct draw_pt_front_end *frontend,
             TRIANGLE(varray, DRAW_PIPE_RESET_STIPPLE | DRAW_PIPE_EDGE_FLAG_ALL,
                      i + 0, i + 1, i + 2);
          }
-         fetch_init(varray, end);
+         varray->fetch_count = end;
          varray_flush_linear(varray);
+         varray->fetch_start += end;
       }
       break;