summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2015-01-30 11:23:26 -0800
committerEric Anholt <[email protected]>2015-02-01 12:53:08 -0800
commit12ebd7e20e0d9448128854f9435f7d02889ae3e9 (patch)
tree997267f7f03f9118ce84028639b4c6e041380601
parent6094619c0297180db218e5b4e45fc07aff116413 (diff)
vc4: Dump the VPM read index in QIR disasm.
Since the VPM reads have to be in order, it's useful to see their indices in the dump.
-rw-r--r--src/gallium/drivers/vc4/vc4_qir.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qir.c b/src/gallium/drivers/vc4/vc4_qir.c
index ed20b5624a9..feb585d69ae 100644
--- a/src/gallium/drivers/vc4/vc4_qir.c
+++ b/src/gallium/drivers/vc4/vc4_qir.c
@@ -245,7 +245,7 @@ qir_reads_r4(struct qinst *inst)
}
static void
-qir_print_reg(struct vc4_compile *c, struct qreg reg)
+qir_print_reg(struct vc4_compile *c, struct qreg reg, bool write)
{
static const char *files[] = {
[QFILE_TEMP] = "t",
@@ -261,7 +261,12 @@ qir_print_reg(struct vc4_compile *c, struct qreg reg)
else
fprintf(stderr, "%f", uif(reg.index));
} else if (reg.file == QFILE_VPM) {
- fprintf(stderr, "vpm");
+ if (write) {
+ fprintf(stderr, "vpm");
+ } else {
+ fprintf(stderr, "vpm%d.%d",
+ reg.index / 4, reg.index % 4);
+ }
} else {
fprintf(stderr, "%s%d", files[reg.file], reg.index);
}
@@ -279,10 +284,10 @@ qir_dump_inst(struct vc4_compile *c, struct qinst *inst)
{
fprintf(stderr, "%s ", qir_get_op_name(inst->op));
- qir_print_reg(c, inst->dst);
+ qir_print_reg(c, inst->dst, true);
for (int i = 0; i < qir_get_op_nsrc(inst->op); i++) {
fprintf(stderr, ", ");
- qir_print_reg(c, inst->src[i]);
+ qir_print_reg(c, inst->src[i], false);
}
}