lavapipe: update vbo indices before propagating stride

the vbo index is used to set the stride, so it needs to be updated

affects dEQP-VK.pipeline.pipeline_library.bind_buffers_2.single.stride_0_4_offset_1_0.count_2

Fixes: 7672545223 ("gallium: move vertex stride to CSO")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24954>
This commit is contained in:
Mike Blumenkrantz 2023-08-30 09:38:54 -04:00 committed by Marge Bot
parent 4f7fb8341e
commit f2865308c4

View file

@ -493,6 +493,9 @@ static void emit_state(struct rendering_state *state)
state->stencil_ref_dirty = false;
}
if (state->ve_dirty)
update_vertex_elements_buffer_index(state);
if (state->vb_strides_dirty) {
for (unsigned i = 0; i < state->velem.count; i++)
state->velem.velems[i].src_stride = state->vb_strides[state->velem.velems[i].vertex_buffer_index];
@ -505,7 +508,6 @@ static void emit_state(struct rendering_state *state)
}
if (state->ve_dirty) {
update_vertex_elements_buffer_index(state);
cso_set_vertex_elements(state->cso, &state->velem);
state->ve_dirty = false;
}