OSDN Git Service

freedreno/ir3: fix printing output registers of FS.
authorHyunjun Ko <zzoon@igalia.com>
Fri, 21 Jun 2019 03:18:33 +0000 (03:18 +0000)
committerDylan Baker <dylan@pnwbakers.com>
Wed, 27 Nov 2019 00:43:04 +0000 (16:43 -0800)
Fixes: cea39af2fbf1 ("freedreno/ir3: Generalize ir3_shader_disasm()")

Reviewed-by: Rob Clark <robdclark@gmail.com>
(cherry picked from commit d0f38394b146fa61197c66a0a0f95fa83f58cec8)

src/freedreno/ir3/ir3_shader.c

index 0cfb28e..4491048 100644 (file)
@@ -430,8 +430,9 @@ ir3_shader_disasm(struct ir3_shader_variant *so, uint32_t *bin, FILE *out)
        fprintf(out, "; %s: outputs:", type);
        for (i = 0; i < so->outputs_count; i++) {
                uint8_t regid = so->outputs[i].regid;
-               fprintf(out, " r%d.%c (%s)",
-                               (regid >> 2), "xyzw"[regid & 0x3],
+               const char *reg_type = so->outputs[i].half ? "hr" : "r";
+               fprintf(out, " %s%d.%c (%s)",
+                               reg_type, (regid >> 2), "xyzw"[regid & 0x3],
                                output_name(so, i));
        }
        fprintf(out, "\n");