summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/panfrost/midgard/disassemble.c13
-rw-r--r--src/gallium/drivers/panfrost/midgard/midgard.h3
2 files changed, 8 insertions, 8 deletions
diff --git a/src/gallium/drivers/panfrost/midgard/disassemble.c b/src/gallium/drivers/panfrost/midgard/disassemble.c
index afde3fdbbcd..7e5c5803f75 100644
--- a/src/gallium/drivers/panfrost/midgard/disassemble.c
+++ b/src/gallium/drivers/panfrost/midgard/disassemble.c
@@ -373,6 +373,10 @@ static void
print_branch_op(int op)
{
switch (op) {
+ case midgard_jmp_writeout_op_branch_uncond:
+ printf("uncond.");
+ break;
+
case midgard_jmp_writeout_op_branch_cond:
printf("cond.");
break;
@@ -412,6 +416,7 @@ print_branch_cond(int cond)
break;
default:
+ printf("unk%X", cond);
break;
}
}
@@ -470,17 +475,13 @@ print_extended_branch_writeout_field(uint8_t *words)
midgard_branch_extended br;
memcpy((char *) &br, (char *) words, sizeof(br));
- printf("br.");
+ printf("brx.");
print_branch_op(br.op);
print_branch_cond(br.cond);
- /* XXX: This can't be right */
if (br.unknown)
- printf(".unknown%d\n", br.unknown);
-
- if (br.zero)
- printf(".zero%d\n", br.zero);
+ printf(".unknown%d", br.unknown);
printf(" ");
diff --git a/src/gallium/drivers/panfrost/midgard/midgard.h b/src/gallium/drivers/panfrost/midgard/midgard.h
index b6cd38a5cd0..04e195a635d 100644
--- a/src/gallium/drivers/panfrost/midgard/midgard.h
+++ b/src/gallium/drivers/panfrost/midgard/midgard.h
@@ -231,8 +231,7 @@ __attribute__((__packed__))
midgard_jmp_writeout_op op : 3; /* == branch_cond */
unsigned dest_tag : 4; /* tag of branch destination */
unsigned unknown : 2;
- signed offset : 7;
- unsigned zero : 16;
+ signed offset : 23;
unsigned cond : 16;
}
midgard_branch_extended;