From c876e99aa448d73be8ab8f2de276bab4afe8b228 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timur=20Krist=C3=B3f?= Date: Thu, 30 Mar 2023 18:51:13 +0200 Subject: [PATCH] radv/amdgpu: Unchain CS array in queue code not in winsys. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Timur Kristóf Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_queue.c | 2 ++ src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_queue.c b/src/amd/vulkan/radv_queue.c index 5e7bfb5..221c94a 100644 --- a/src/amd/vulkan/radv_queue.c +++ b/src/amd/vulkan/radv_queue.c @@ -1716,11 +1716,13 @@ radv_queue_submit_normal(struct radv_queue *queue, struct vk_queue_submit *submi /* ACE needs to be first because the last CS must match the queue's IP type. */ if (radv_cmd_buffer_needs_ace(cmd_buffer)) { + queue->device->ws->cs_unchain(cmd_buffer->ace_internal.cs); cs_array[num_submitted_cs++] = cmd_buffer->ace_internal.cs; submit_ace = true; } can_patch &= !(cmd_buffer->usage_flags & VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT); + queue->device->ws->cs_unchain(cmd_buffer->cs); cs_array[num_submitted_cs++] = cmd_buffer->cs; cs_idx = num_submitted_cs - 1; } diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c index fb56d6f..65dac75 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c @@ -1062,7 +1062,6 @@ radv_amdgpu_winsys_cs_submit_fallback(struct radv_amdgpu_ctx *ctx, int queue_idx struct radv_amdgpu_cs *cs = radv_amdgpu_cs(cs_array[i]); ibs[i + preamble_count] = cs->ib; - radv_amdgpu_cs_unchain(&cs->base); if (uses_shadow_regs && cs->ib.ip_type == AMDGPU_HW_IP_GFX) cs->ib.flags |= AMDGPU_IB_FLAG_PREEMPT; -- 2.7.4