draw/mesh: reset some user state values on mesh draws.

Otherwise previous non-mesh draws and can leave things dirty.

Fixes crashes in:
dEQP-VK.mesh_shader.ext.query.all_queries.triangles.reset_before.copy.no_wait.indirect_draw.32bit.no_availability.no_blocks.task_mesh.inside_rp.single_view.with_secondary
after other shaders have run.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25385>
This commit is contained in:
Dave Airlie
2023-09-26 10:24:23 +10:00
committed by Marge Bot
parent a38cb1f597
commit 6d00c2f78c

View File

@@ -643,6 +643,12 @@ draw_mesh(struct draw_context *draw,
{
struct draw_pt_middle_end *middle = draw->pt.middle.mesh;
draw->pt.user.eltSize = 0;
draw->pt.user.viewid = 0;
draw->pt.user.drawid = 0;
draw->pt.user.increment_draw_id = false;
draw->pt.vertices_per_patch = 0;
middle->prepare(middle, 0, 0, NULL);
draw_mesh_middle_end_run(middle, vert_info, prim_info);