From c9ff965c226ec1041b3ad4e73f63c2ea5301f540 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 20 May 2025 11:25:35 -0400 Subject: [PATCH] lavapipe: handle counterOffset in vkCmdDrawIndirectByteCountEXT fixes dEQP-VK.transform_feedback.simple.draw_indirect*counter_offset* cc: mesa-stable Reviewed-by: Konstantin Seurer Part-of: (cherry picked from commit 42b303c7b0e1433eede2aacb28988912d4e20d27) --- .pick_status.json | 2 +- src/gallium/frontends/lavapipe/lvp_execute.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index a847e378455..9ac6855f32b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4804,7 +4804,7 @@ "description": "lavapipe: handle counterOffset in vkCmdDrawIndirectByteCountEXT", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c index e507f3a6346..42d2cefda63 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -3386,6 +3386,7 @@ static void handle_draw_indirect_byte_count(struct vk_cmd_queue_entry *cmd, dibc->counter_buffer_offset, 4, &draw.count); + draw.count -= dibc->counter_offset; state->info.start_instance = cmd->u.draw_indirect_byte_count_ext.first_instance; state->info.instance_count = cmd->u.draw_indirect_byte_count_ext.instance_count; state->info.index_size = 0;