summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Clark <robdclark@chromium.org>2019-10-25 16:15:10 -0700
committerRob Clark <robdclark@chromium.org>2019-11-12 13:55:03 -0800
commit7a5f073da32f938242b21565414029e823924e06 (patch)
treef2a593781cf708a44ebc57b39aea46a31f0926a6
parentc00a67171c99a885ffa46aff31f9cfa165947d78 (diff)
freedreno/ir3: show input/output wrmask's in disasm
Currently it is always 0x1 (scalar), but that will change in a later patch. Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by: Eric Anholt <eric@anholt.net>
-rw-r--r--src/freedreno/ir3/ir3_shader.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/freedreno/ir3/ir3_shader.c b/src/freedreno/ir3/ir3_shader.c
index 2f5777c4ec8..17369300761 100644
--- a/src/freedreno/ir3/ir3_shader.c
+++ b/src/freedreno/ir3/ir3_shader.c
@@ -384,9 +384,13 @@ ir3_shader_disasm(struct ir3_shader_variant *so, uint32_t *bin, FILE *out)
foreach_input_n(instr, i, ir) {
reg = instr->regs[0];
regid = reg->num;
- fprintf(out, "@in(%sr%d.%c)\tin%d\n",
+ fprintf(out, "@in(%sr%d.%c)\tin%d",
(reg->flags & IR3_REG_HALF) ? "h" : "",
(regid >> 2), "xyzw"[regid & 0x3], i);
+
+ if (reg->wrmask > 0x1)
+ fprintf(out, " (wrmask=0x%x)", reg->wrmask);
+ fprintf(out, "\n");
}
/* print pre-dispatch texture fetches: */
@@ -402,9 +406,12 @@ ir3_shader_disasm(struct ir3_shader_variant *so, uint32_t *bin, FILE *out)
foreach_output_n(instr, i, ir) {
reg = instr->regs[0];
regid = reg->num;
- fprintf(out, "@out(%sr%d.%c)\tout%d\n",
+ fprintf(out, "@out(%sr%d.%c)\tout%d",
(reg->flags & IR3_REG_HALF) ? "h" : "",
(regid >> 2), "xyzw"[regid & 0x3], i);
+ if (reg->wrmask > 0x1)
+ fprintf(out, " (wrmask=0x%x)", reg->wrmask);
+ fprintf(out, "\n");
}
struct ir3_const_state *const_state = &so->shader->const_state;