From 3ffe4b257b5fdd91bdec9ff83523cd70d0484b03 Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Fri, 13 Feb 2026 10:56:21 +0100 Subject: [PATCH] vulkan/cmd_queue: Fixup stride for multi draws Copying the draw infos packs them so the stride needs to be set to the struct size. cc: mesa-stable Reviewed-by: Mike Blumenkrantz (cherry picked from commit be5ab80de15a642d537a5072bc341c38293a1baa) Part-of: --- .pick_status.json | 2 +- src/vulkan/runtime/vk_cmd_enqueue.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 2eca244e68d..d8912d8f477 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4414,7 +4414,7 @@ "description": "vulkan/cmd_queue: Fixup stride for multi draws", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/vulkan/runtime/vk_cmd_enqueue.c b/src/vulkan/runtime/vk_cmd_enqueue.c index 214d5cc8767..92c01c12f4d 100644 --- a/src/vulkan/runtime/vk_cmd_enqueue.c +++ b/src/vulkan/runtime/vk_cmd_enqueue.c @@ -305,7 +305,7 @@ vk_cmd_enqueue_CmdDrawMultiEXT(VkCommandBuffer commandBuffer, } cmd->u.draw_multi_ext.instance_count = instanceCount; cmd->u.draw_multi_ext.first_instance = firstInstance; - cmd->u.draw_multi_ext.stride = stride; + cmd->u.draw_multi_ext.stride = sizeof(*cmd->u.draw_multi_ext.vertex_info); } VKAPI_ATTR void VKAPI_CALL @@ -347,7 +347,7 @@ vk_cmd_enqueue_CmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer, cmd->u.draw_multi_indexed_ext.instance_count = instanceCount; cmd->u.draw_multi_indexed_ext.first_instance = firstInstance; - cmd->u.draw_multi_indexed_ext.stride = stride; + cmd->u.draw_multi_indexed_ext.stride = sizeof(*cmd->u.draw_multi_indexed_ext.index_info); if (pVertexOffset) { cmd->u.draw_multi_indexed_ext.vertex_offset =