diff --git a/.pick_status.json b/.pick_status.json index 4969a3cb2d1..3afc56828c0 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -895,7 +895,7 @@ "description": "radv/amdgpu: fix dumping cs with RADV_DEBUG=noibs", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "50e6b16855d5f72c3a8e16bc131d6d88b5cddfff" }, diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c index 924dfaffc7b..9c1a2985a5f 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c @@ -1224,8 +1224,15 @@ radv_amdgpu_winsys_cs_dump(struct radeon_cmdbuf *_cs, FILE *file, const int *tra int trace_id_count) { struct radv_amdgpu_cs *cs = (struct radv_amdgpu_cs *)_cs; - void *ib = radv_amdgpu_winsys_get_cpu_addr(cs, cs->ib.ib_mc_address); int num_dw = cs->base.cdw; + void *ib; + + if (cs->use_ib) { + ib = radv_amdgpu_winsys_get_cpu_addr(cs, cs->ib.ib_mc_address); + } else { + ib = cs->base.buf; + } + assert(ib); ac_parse_ib(file, ib, num_dw, trace_ids, trace_id_count, "main IB", cs->ws->info.gfx_level, cs->ws->info.family, radv_amdgpu_winsys_get_cpu_addr, cs);