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:
@@ -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);
|
||||
|
Reference in New Issue
Block a user