From 6d00c2f78cf651ef156c287368783ac6d0c40d50 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 26 Sep 2023 10:24:23 +1000 Subject: [PATCH] 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 Cc: mesa-stable Part-of: --- src/gallium/auxiliary/draw/draw_pt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c index e983bd7..01f11ed 100644 --- a/src/gallium/auxiliary/draw/draw_pt.c +++ b/src/gallium/auxiliary/draw/draw_pt.c @@ -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); -- 2.7.4