summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe/sp_draw_arrays.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_draw_arrays.c')
-rw-r--r--src/gallium/drivers/softpipe/sp_draw_arrays.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/softpipe/sp_draw_arrays.c b/src/gallium/drivers/softpipe/sp_draw_arrays.c
index 59226fb..ba9e781 100644
--- a/src/gallium/drivers/softpipe/sp_draw_arrays.c
+++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c
@@ -76,8 +76,12 @@ softpipe_draw_vbo(struct pipe_context *pipe,
/* Map vertex buffers */
for (i = 0; i < sp->num_vertex_buffers; i++) {
const void *buf = sp->vertex_buffer[i].user_buffer;
- if (!buf)
+ if (!buf) {
+ if (!sp->vertex_buffer[i].buffer) {
+ continue;
+ }
buf = softpipe_resource(sp->vertex_buffer[i].buffer)->data;
+ }
draw_set_mapped_vertex_buffer(draw, i, buf);
}