summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/draw/draw_pt_varray.c4
-rw-r--r--src/gallium/auxiliary/draw/draw_pt_varray_tmp.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_varray.c b/src/gallium/auxiliary/draw/draw_pt_varray.c
index 916373acc8..fb1b59d53e 100644
--- a/src/gallium/auxiliary/draw/draw_pt_varray.c
+++ b/src/gallium/auxiliary/draw/draw_pt_varray.c
@@ -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);
diff --git a/src/gallium/auxiliary/draw/draw_pt_varray_tmp.h b/src/gallium/auxiliary/draw/draw_pt_varray_tmp.h
index 67baafa3be..a9f844a357 100644
--- a/src/gallium/auxiliary/draw/draw_pt_varray_tmp.h
+++ b/src/gallium/auxiliary/draw/draw_pt_varray_tmp.h
@@ -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;