mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-08 07:50:27 +01:00
broadcom/compiler: name registers correctly based on V3D version
So we can differentiate between TMU for V3D 4.x and UNIFA for V3D 4.x, which are aliased. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8980>
This commit is contained in:
parent
f85fcaa494
commit
457ed5aa01
4 changed files with 17 additions and 7 deletions
|
|
@ -163,7 +163,8 @@ vir_print_reg(struct v3d_compile *c, const struct qinst *inst,
|
|||
break;
|
||||
|
||||
case QFILE_MAGIC:
|
||||
fprintf(stderr, "%s", v3d_qpu_magic_waddr_name(reg.index));
|
||||
fprintf(stderr, "%s",
|
||||
v3d_qpu_magic_waddr_name(c->devinfo, reg.index));
|
||||
break;
|
||||
|
||||
case QFILE_SMALL_IMM: {
|
||||
|
|
@ -202,7 +203,8 @@ vir_dump_sig_addr(const struct v3d_device_info *devinfo,
|
|||
if (!instr->sig_magic)
|
||||
fprintf(stderr, ".rf%d", instr->sig_addr);
|
||||
else {
|
||||
const char *name = v3d_qpu_magic_waddr_name(instr->sig_addr);
|
||||
const char *name =
|
||||
v3d_qpu_magic_waddr_name(devinfo, instr->sig_addr);
|
||||
if (name)
|
||||
fprintf(stderr, ".%s", name);
|
||||
else
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ v3d_qpu_disasm_waddr(struct disasm_state *disasm, uint32_t waddr, bool magic)
|
|||
return;
|
||||
}
|
||||
|
||||
const char *name = v3d_qpu_magic_waddr_name(waddr);
|
||||
const char *name = v3d_qpu_magic_waddr_name(disasm->devinfo, waddr);
|
||||
if (name)
|
||||
append(disasm, "%s", name);
|
||||
else
|
||||
|
|
@ -187,7 +187,9 @@ v3d_qpu_disasm_sig_addr(struct disasm_state *disasm,
|
|||
if (!instr->sig_magic)
|
||||
append(disasm, ".rf%d", instr->sig_addr);
|
||||
else {
|
||||
const char *name = v3d_qpu_magic_waddr_name(instr->sig_addr);
|
||||
const char *name =
|
||||
v3d_qpu_magic_waddr_name(disasm->devinfo,
|
||||
instr->sig_addr);
|
||||
if (name)
|
||||
append(disasm, ".%s", name);
|
||||
else
|
||||
|
|
|
|||
|
|
@ -27,8 +27,13 @@
|
|||
#include "qpu_instr.h"
|
||||
|
||||
const char *
|
||||
v3d_qpu_magic_waddr_name(enum v3d_qpu_waddr waddr)
|
||||
v3d_qpu_magic_waddr_name(const struct v3d_device_info *devinfo,
|
||||
enum v3d_qpu_waddr waddr)
|
||||
{
|
||||
/* V3D 4.x UNIFA aliases TMU in V3D 3.x in the table below */
|
||||
if (devinfo->ver < 40 && waddr == V3D_QPU_WADDR_TMU)
|
||||
return "tmu";
|
||||
|
||||
static const char *waddr_magic[] = {
|
||||
[V3D_QPU_WADDR_R0] = "r0",
|
||||
[V3D_QPU_WADDR_R1] = "r1",
|
||||
|
|
@ -39,7 +44,7 @@ v3d_qpu_magic_waddr_name(enum v3d_qpu_waddr waddr)
|
|||
[V3D_QPU_WADDR_NOP] = "-",
|
||||
[V3D_QPU_WADDR_TLB] = "tlb",
|
||||
[V3D_QPU_WADDR_TLBU] = "tlbu",
|
||||
[V3D_QPU_WADDR_TMU] = "tmu",
|
||||
[V3D_QPU_WADDR_UNIFA] = "unifa",
|
||||
[V3D_QPU_WADDR_TMUL] = "tmul",
|
||||
[V3D_QPU_WADDR_TMUD] = "tmud",
|
||||
[V3D_QPU_WADDR_TMUA] = "tmua",
|
||||
|
|
|
|||
|
|
@ -388,7 +388,8 @@ struct v3d_qpu_instr {
|
|||
};
|
||||
};
|
||||
|
||||
const char *v3d_qpu_magic_waddr_name(enum v3d_qpu_waddr waddr);
|
||||
const char *v3d_qpu_magic_waddr_name(const struct v3d_device_info *devinfo,
|
||||
enum v3d_qpu_waddr waddr);
|
||||
const char *v3d_qpu_add_op_name(enum v3d_qpu_add_op op);
|
||||
const char *v3d_qpu_mul_op_name(enum v3d_qpu_mul_op op);
|
||||
const char *v3d_qpu_cond_name(enum v3d_qpu_cond cond);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue