From cf9fb46e54f20d99f353f11aa8f712a9d0146d63 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 22 Apr 2026 17:58:34 +0200 Subject: [PATCH] radv: zero-initialize radv_cmd_state only when a cmdbuf is reset Command buffers are zero-allocated, so this is only needed when reset. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 2ef31a6cb55..47fa717cf32 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -1286,6 +1286,7 @@ radv_reset_cmd_buffer(struct vk_command_buffer *vk_cmd_buffer, UNUSED VkCommandB cmd_buffer->gang.sem.va = 0; memset(cmd_buffer->vertex_bindings, 0, sizeof(cmd_buffer->vertex_bindings)); memset(&cmd_buffer->queue_state, 0, sizeof(cmd_buffer->queue_state)); + memset(&cmd_buffer->state, 0, sizeof(cmd_buffer->state)); if (cmd_buffer->upload.upload_bo) radv_cs_add_buffer(device->ws, cs->b, cmd_buffer->upload.upload_bo); @@ -1299,8 +1300,6 @@ radv_reset_cmd_buffer(struct vk_command_buffer *vk_cmd_buffer, UNUSED VkCommandB cmd_buffer->descriptors[i].dirty_heaps = 0; cmd_buffer->descriptors[i].valid_heaps = 0; } - - radv_cmd_buffer_reset_rendering(cmd_buffer); } const struct vk_command_buffer_ops radv_cmd_buffer_ops = { @@ -7817,7 +7816,6 @@ radv_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBegi if (cmd_buffer->qf == RADV_QUEUE_SPARSE) return result; - memset(&cmd_buffer->state, 0, sizeof(cmd_buffer->state)); cmd_buffer->state.last_index_type = -1; cmd_buffer->state.last_primitive_restart_en = pdev->info.gfx_level >= GFX11 ? false : -1; cmd_buffer->state.last_num_instances = -1;