From f144d914966eba2fd816b2948d5832b14f01a947 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 15 Jul 2021 08:05:03 +1000 Subject: [PATCH] lavapipe: fix multi-draw regression in shader parameters test dEQP-VK.draw.shader_draw_parameters.base_instance.draw,Fail dEQP-VK.draw.shader_draw_parameters.base_instance.draw_indexed,Fail Fixes: 6b6dda56b5ff ("lavapipe: increment drawid for multidraws") Reviewed-by: Mike Blumenkrantz Part-of: --- src/gallium/frontends/lavapipe/lvp_execute.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c index 02fae75..e7459b8 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -1642,7 +1642,8 @@ static void handle_draw(struct lvp_cmd_buffer_entry *cmd, state->info.start_instance = cmd->u.draw.first_instance; state->info.instance_count = cmd->u.draw.instance_count; state->info.view_mask = subpass->view_mask; - state->info.increment_draw_id = true; + if (cmd->u.draw.draw_count > 1) + state->info.increment_draw_id = true; state->pctx->draw_vbo(state->pctx, &state->info, 0, NULL, cmd->u.draw.draws, cmd->u.draw.draw_count); } @@ -2208,7 +2209,8 @@ static void handle_draw_indexed(struct lvp_cmd_buffer_entry *cmd, state->info.start_instance = cmd->u.draw_indexed.first_instance; state->info.instance_count = cmd->u.draw_indexed.instance_count; state->info.view_mask = subpass->view_mask; - state->info.increment_draw_id = true; + if (cmd->u.draw.draw_count > 1) + state->info.increment_draw_id = true; if (state->info.primitive_restart) state->info.restart_index = util_prim_restart_index_from_size(state->info.index_size); -- 2.7.4