gallium: add start_slot parameter to set_vertex_buffers
[mesa.git] / src / mesa / state_tracker / st_atom_array.c
index ab46f11887e59d78d7fc74da73f3e2414deaf422..c96f6dc70c3ce20587ed0ce15cc8cbcb61ac9b25 100644 (file)
@@ -574,7 +574,13 @@ static void update_array(struct st_context *st)
       num_velements = vpv->num_inputs;
    }
 
-   cso_set_vertex_buffers(st->cso_context, num_vbuffers, vbuffer);
+   cso_set_vertex_buffers(st->cso_context, 0, num_vbuffers, vbuffer);
+   if (st->last_num_vbuffers > num_vbuffers) {
+      /* Unbind remaining buffers, if any. */
+      cso_set_vertex_buffers(st->cso_context, num_vbuffers,
+                             st->last_num_vbuffers - num_vbuffers, NULL);
+   }
+   st->last_num_vbuffers = num_vbuffers;
    cso_set_vertex_elements(st->cso_context, num_velements, velements);
 }