diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/panfrost/midgard/midgard_print.c | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/panfrost/midgard/midgard_print.c b/src/panfrost/midgard/midgard_print.c index 60786fef53f..58d6cf67278 100644 --- a/src/panfrost/midgard/midgard_print.c +++ b/src/panfrost/midgard/midgard_print.c @@ -333,10 +333,13 @@ mir_print_instruction(midgard_instruction *ins) printf(" "); mir_print_index(ins->dest); - pan_print_alu_type(ins->dest_type, stdout); - if (ins->mask != 0xF) - mir_print_mask(ins->mask); + if (ins->dest) { + pan_print_alu_type(ins->dest_type, stdout); + + if (ins->mask != 0xF) + mir_print_mask(ins->mask); + } printf(", "); @@ -346,8 +349,11 @@ mir_print_instruction(midgard_instruction *ins) mir_print_embedded_constant(ins, 0); else { mir_print_index(ins->src[0]); - pan_print_alu_type(ins->src_types[0], stdout); - mir_print_swizzle(ins->swizzle[0]); + + if (ins->src[0] != ~0) { + pan_print_alu_type(ins->src_types[0], stdout); + mir_print_swizzle(ins->swizzle[0]); + } } printf(", "); @@ -357,15 +363,21 @@ mir_print_instruction(midgard_instruction *ins) mir_print_embedded_constant(ins, 1); else { mir_print_index(ins->src[1]); - pan_print_alu_type(ins->src_types[1], stdout); - mir_print_swizzle(ins->swizzle[1]); + + if (ins->src[1] != ~0) { + pan_print_alu_type(ins->src_types[1], stdout); + mir_print_swizzle(ins->swizzle[1]); + } } for (unsigned c = 2; c <= 3; ++c) { printf(", "); mir_print_index(ins->src[c]); - pan_print_alu_type(ins->src_types[c], stdout); - mir_print_swizzle(ins->swizzle[c]); + + if (ins->src[c] != ~0) { + pan_print_alu_type(ins->src_types[c], stdout); + mir_print_swizzle(ins->swizzle[c]); + } } if (ins->no_spill) |