From 71a46b9a9dcf5c4e0bf8b8d1f03422a347584408 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 21 Apr 2021 16:06:30 +0200 Subject: [PATCH] radv/winsys: fix resetting the number of padded IB words The number of padded words is per IB, so it should be reset. Found with Valgrind and dEQP-VK.api.command_buffers.record_many_draws* Cc: 21.1 mesa-stable Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: (cherry picked from commit f9e9b21e10cd3e26c4210bbf646f246a52444426) --- .pick_status.json | 2 +- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index e69400b963a..02c734d41c1 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -238,7 +238,7 @@ "description": "radv/winsys: fix resetting the number of padded IB words", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c index 65e5d76d23f..1cfd2921a6d 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c @@ -902,7 +902,6 @@ radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx, int queue_id unsigned number_of_ibs; uint32_t *ptr; unsigned cnt = 0; - unsigned pad_words = 0; /* Compute the number of IBs for this submit. */ number_of_ibs = cs->num_old_cs_buffers + 1; @@ -935,6 +934,7 @@ radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx, int queue_id for (unsigned j = 0; j < number_of_ibs; j++) { struct radeon_cmdbuf *rcs = new_cs_array[j]; bool needs_preamble = preamble_cs && j == 0; + unsigned pad_words = 0; unsigned size = 0; if (needs_preamble) @@ -973,6 +973,7 @@ radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx, int queue_id cnt++; free(new_cs_array); } else { + unsigned pad_words = 0; unsigned size = 0; if (preamble_cs)