radv: Add trace ids for secondary buffers.
Signed-off-by: Bas Nieuwenhuizen <basni@google.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
46dd30d08f
commit
083b49ba9d
|
@ -341,6 +341,8 @@ void radv_cmd_buffer_trace_emit(struct radv_cmd_buffer *cmd_buffer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
va = device->ws->buffer_get_va(device->trace_bo);
|
va = device->ws->buffer_get_va(device->trace_bo);
|
||||||
|
if (cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_SECONDARY)
|
||||||
|
va += 4;
|
||||||
|
|
||||||
MAYBE_UNUSED unsigned cdw_max = radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, 7);
|
MAYBE_UNUSED unsigned cdw_max = radeon_check_space(cmd_buffer->device->ws, cmd_buffer->cs, 7);
|
||||||
|
|
||||||
|
|
|
@ -1389,7 +1389,7 @@ static void radv_dump_trace(struct radv_device *device,
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(f, "Trace ID: %x\n", *device->trace_id_ptr);
|
fprintf(f, "Trace ID: %x\n", *device->trace_id_ptr);
|
||||||
device->ws->cs_dump(cs, f, *device->trace_id_ptr);
|
device->ws->cs_dump(cs, f, (const int*)device->trace_id_ptr, 2);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -216,7 +216,7 @@ struct radeon_winsys {
|
||||||
void (*cs_execute_secondary)(struct radeon_winsys_cs *parent,
|
void (*cs_execute_secondary)(struct radeon_winsys_cs *parent,
|
||||||
struct radeon_winsys_cs *child);
|
struct radeon_winsys_cs *child);
|
||||||
|
|
||||||
void (*cs_dump)(struct radeon_winsys_cs *cs, FILE* file, uint32_t trace_id);
|
void (*cs_dump)(struct radeon_winsys_cs *cs, FILE* file, const int *trace_ids, int trace_id_count);
|
||||||
|
|
||||||
int (*surface_init)(struct radeon_winsys *ws,
|
int (*surface_init)(struct radeon_winsys *ws,
|
||||||
const struct ac_surf_info *surf_info,
|
const struct ac_surf_info *surf_info,
|
||||||
|
|
|
@ -987,7 +987,7 @@ static void *radv_amdgpu_winsys_get_cpu_addr(void *_cs, uint64_t addr)
|
||||||
|
|
||||||
static void radv_amdgpu_winsys_cs_dump(struct radeon_winsys_cs *_cs,
|
static void radv_amdgpu_winsys_cs_dump(struct radeon_winsys_cs *_cs,
|
||||||
FILE* file,
|
FILE* file,
|
||||||
uint32_t trace_id)
|
const int *trace_ids, int trace_id_count)
|
||||||
{
|
{
|
||||||
struct radv_amdgpu_cs *cs = (struct radv_amdgpu_cs *)_cs;
|
struct radv_amdgpu_cs *cs = (struct radv_amdgpu_cs *)_cs;
|
||||||
void *ib = cs->base.buf;
|
void *ib = cs->base.buf;
|
||||||
|
@ -998,7 +998,7 @@ static void radv_amdgpu_winsys_cs_dump(struct radeon_winsys_cs *_cs,
|
||||||
num_dw = cs->ib.size;
|
num_dw = cs->ib.size;
|
||||||
}
|
}
|
||||||
assert(ib);
|
assert(ib);
|
||||||
ac_parse_ib(file, ib, num_dw, (const int*)&trace_id, 1, "main IB",
|
ac_parse_ib(file, ib, num_dw, trace_ids, trace_id_count, "main IB",
|
||||||
cs->ws->info.chip_class, radv_amdgpu_winsys_get_cpu_addr, cs);
|
cs->ws->info.chip_class, radv_amdgpu_winsys_get_cpu_addr, cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue