diff options
-rw-r--r-- | src/gallium/drivers/panfrost/midgard/disassemble.c | 13 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/midgard/midgard.h | 3 |
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; |