From 00dec0343884f4b2e69d3920bf09ea436c783e19 Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Sat, 2 Mar 2024 11:33:52 +0100 Subject: [PATCH] radv: Use radv_buffer_map for parsing IBs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We need matching pointers pointers for annotations to work. Reviewed-by: Marek Olšák Part-of: --- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c index 809df949395..b9aefc436a5 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c @@ -1356,7 +1356,6 @@ static void radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr, struct ac_addr_info *info) { struct radv_amdgpu_cs *cs = (struct radv_amdgpu_cs *)_cs; - void *ret = NULL; memset(info, 0, sizeof(struct ac_addr_info)); @@ -1381,8 +1380,9 @@ radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr, struct ac_addr_info *i struct radv_amdgpu_winsys_bo *bo = (struct radv_amdgpu_winsys_bo *)ib->bo; if (addr >= bo->base.va && addr - bo->base.va < bo->size) { - if (amdgpu_bo_cpu_map(bo->bo, &ret) == 0) { - info->cpu_addr = (char *)ret + (addr - bo->base.va); + void *map = radv_buffer_map(&cs->ws->base, &bo->base); + if (map) { + info->cpu_addr = (char *)map + (addr - bo->base.va); info->valid = true; return; } @@ -1392,10 +1392,11 @@ radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr, struct ac_addr_info *i for (uint32_t i = 0; i < cs->ws->global_bo_list.count; i++) { struct radv_amdgpu_winsys_bo *bo = cs->ws->global_bo_list.bos[i]; if (addr >= bo->base.va && addr - bo->base.va < bo->size) { - if (amdgpu_bo_cpu_map(bo->bo, &ret) == 0) { + void *map = radv_buffer_map(&cs->ws->base, &bo->base); + if (map) { u_rwlock_rdunlock(&cs->ws->global_bo_list.lock); info->valid = true; - info->cpu_addr = (char *)ret + (addr - bo->base.va); + info->cpu_addr = (char *)map + (addr - bo->base.va); return; } }