mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 13:48:06 +02:00
radv: fix trace dumping for !use_ib_bos
Fixes trace dumping crash for SI or when RADV_DEBUG=noibs is set. Fixes:97dfff5410"radv: Dump command buffer on hang." Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commitfae3b13905)
This commit is contained in:
parent
423dab9d32
commit
3734a7de6c
1 changed files with 11 additions and 3 deletions
|
|
@ -931,6 +931,9 @@ static void *radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr)
|
|||
{
|
||||
struct radv_amdgpu_cs *cs = (struct radv_amdgpu_cs *)_cs;
|
||||
void *ret = NULL;
|
||||
|
||||
if (!cs->ib_buffer)
|
||||
return NULL;
|
||||
for (unsigned i = 0; i <= cs->num_old_ib_buffers; ++i) {
|
||||
struct radv_amdgpu_winsys_bo *bo;
|
||||
|
||||
|
|
@ -949,10 +952,15 @@ static void radv_amdgpu_winsys_cs_dump(struct radeon_winsys_cs *_cs,
|
|||
uint32_t trace_id)
|
||||
{
|
||||
struct radv_amdgpu_cs *cs = (struct radv_amdgpu_cs *)_cs;
|
||||
void *ib = cs->base.buf;
|
||||
int num_dw = cs->base.cdw;
|
||||
|
||||
ac_parse_ib(file,
|
||||
radv_amdgpu_winsys_get_cpu_addr(cs, cs->ib.ib_mc_address),
|
||||
cs->ib.size, trace_id, "main IB", cs->ws->info.chip_class,
|
||||
if (cs->ws->use_ib_bos) {
|
||||
ib = radv_amdgpu_winsys_get_cpu_addr(cs, cs->ib.ib_mc_address);
|
||||
num_dw = cs->ib.size;
|
||||
}
|
||||
assert(ib);
|
||||
ac_parse_ib(file, ib, num_dw, trace_id, "main IB", cs->ws->info.chip_class,
|
||||
radv_amdgpu_winsys_get_cpu_addr, cs);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue