summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_pt_emit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pt_emit.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_pt_emit.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_emit.c b/src/gallium/auxiliary/draw/draw_pt_emit.c
index 8a6e01809e..064e16c295 100644
--- a/src/gallium/auxiliary/draw/draw_pt_emit.c
+++ b/src/gallium/auxiliary/draw/draw_pt_emit.c
@@ -165,6 +165,9 @@ void draw_pt_emit( struct pt_emit *emit,
*/
draw_do_flush( draw, DRAW_FLUSH_BACKEND );
+ if (vertex_count == 0)
+ return;
+
if (vertex_count >= UNDEFINED_VERTEX_ID) {
assert(0);
return;
@@ -205,7 +208,7 @@ void draw_pt_emit( struct pt_emit *emit,
render->unmap_vertices( render,
0,
- vertex_count );
+ vertex_count - 1 );
render->draw(render,
elts,
@@ -272,7 +275,7 @@ void draw_pt_emit_linear(struct pt_emit *emit,
}
}
- render->unmap_vertices( render, 0, count );
+ render->unmap_vertices( render, 0, count - 1 );
render->draw_arrays(render, 0, count);