cso_set_vertex_buffers_and_elements shouldn't be used between cso_save
and cso_restore because it can switch for cso_context to u_vbuf and vice
versa. Also, ẗhe preferred order of calls for future VB+draw merging would
be set_vertex_elements followed by set_vertex_buffers.
This reverts commit
33e117ed7f3c48d3dbeda9a28603a121eac7a860.
Fixes:
33e117ed7f3c48d3dbeda9a28603a121eac7a860
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4674
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10342>
velem.velems[0].vertex_buffer_index = 0;
velem.velems[0].src_format = PIPE_FORMAT_R32G32_FLOAT;
- cso_set_vertex_buffers_and_elements(cso, &velem, 1, 0, true, false, &vbo);
+ cso_set_vertex_elements(cso, &velem);
+
+ cso_set_vertex_buffers(cso, 0, 1, &vbo);
st->last_num_vbuffers = MAX2(st->last_num_vbuffers, 1);
+
+ pipe_resource_reference(&vbo.buffer.resource, NULL);
}
/* Upload constants */