radv,aco: dump more SQ_WAVE regs from the trap handler

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32056>
This commit is contained in:
Samuel Pitoiset 2024-11-08 09:02:18 +01:00 committed by Marge Bot
parent 0cc21d0601
commit 62e335c779
2 changed files with 8 additions and 0 deletions

View file

@ -12541,9 +12541,11 @@ select_trap_handler_shader(Program* program, struct nir_shader* shader, ac_shade
/* Store some hardware registers. */
const uint32_t hw_regs_idx[] = {
1, /* HW_REG_MODE */
3, /* HW_REG_TRAP_STS */
4, /* HW_REG_HW_ID */
5, /* WH_REG_GPR_ALLOC */
6, /* WH_REG_LDS_ALLOC */
7, /* HW_REG_IB_STS */
};
uint32_t offset = 8;

View file

@ -1002,9 +1002,11 @@ struct radv_trap_handler_layout {
struct {
uint32_t status;
uint32_t mode;
uint32_t trap_sts;
uint32_t hw_id1;
uint32_t gpr_alloc;
uint32_t lds_alloc;
uint32_t ib_sts;
} sq_wave_regs;
@ -1023,16 +1025,20 @@ radv_dump_sq_hw_regs(struct radv_device *device, const struct radv_trap_handler_
fprintf(f, "\nHardware registers:\n");
if (pdev->info.gfx_level >= GFX10) {
ac_dump_reg(f, gfx_level, family, R_000404_SQ_WAVE_MODE, layout->sq_wave_regs.mode, ~0);
ac_dump_reg(f, gfx_level, family, R_000408_SQ_WAVE_STATUS, layout->sq_wave_regs.status, ~0);
ac_dump_reg(f, gfx_level, family, R_00040C_SQ_WAVE_TRAPSTS, layout->sq_wave_regs.trap_sts, ~0);
ac_dump_reg(f, gfx_level, family, R_00045C_SQ_WAVE_HW_ID1, layout->sq_wave_regs.hw_id1, ~0);
ac_dump_reg(f, gfx_level, family, R_000414_SQ_WAVE_GPR_ALLOC, layout->sq_wave_regs.gpr_alloc, ~0);
ac_dump_reg(f, gfx_level, family, R_000418_SQ_WAVE_LDS_ALLOC, layout->sq_wave_regs.lds_alloc, ~0);
ac_dump_reg(f, gfx_level, family, R_00041C_SQ_WAVE_IB_STS, layout->sq_wave_regs.ib_sts, ~0);
} else {
ac_dump_reg(f, gfx_level, family, R_000044_SQ_WAVE_MODE, layout->sq_wave_regs.mode, ~0);
ac_dump_reg(f, gfx_level, family, R_000048_SQ_WAVE_STATUS, layout->sq_wave_regs.status, ~0);
ac_dump_reg(f, gfx_level, family, R_00004C_SQ_WAVE_TRAPSTS, layout->sq_wave_regs.trap_sts, ~0);
ac_dump_reg(f, gfx_level, family, R_000050_SQ_WAVE_HW_ID, layout->sq_wave_regs.hw_id1, ~0);
ac_dump_reg(f, gfx_level, family, R_000054_SQ_WAVE_GPR_ALLOC, layout->sq_wave_regs.gpr_alloc, ~0);
ac_dump_reg(f, gfx_level, family, R_000058_SQ_WAVE_LDS_ALLOC, layout->sq_wave_regs.lds_alloc, ~0);
ac_dump_reg(f, gfx_level, family, R_00005C_SQ_WAVE_IB_STS, layout->sq_wave_regs.ib_sts, ~0);
}
fprintf(f, "\n\n");