X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpanfrost%2Fmidgard%2Fmidgard_print.c;h=44fd888d584ce2d0ed81465bb2a314905c79e903;hb=771d23584a1fa79f2547a74ff680fbec56bb2ee9;hp=c79603c64d224eea417faa396d21858f981f5d17;hpb=1a4153b24cce3f25db6bbc3dc5dc4efcfa146ab7;p=mesa.git diff --git a/src/panfrost/midgard/midgard_print.c b/src/panfrost/midgard/midgard_print.c index c79603c64d2..44fd888d584 100644 --- a/src/panfrost/midgard/midgard_print.c +++ b/src/panfrost/midgard/midgard_print.c @@ -66,6 +66,15 @@ mir_print_mask(unsigned mask) } } +static void +mir_print_swizzle(unsigned *swizzle) +{ + printf("."); + + for (unsigned i = 0; i < 16; ++i) + putchar(components[swizzle[i]]); +} + static const char * mir_get_unit(unsigned unit) { @@ -115,7 +124,7 @@ mir_print_instruction(midgard_instruction *ins) case TAG_LOAD_STORE_4: { midgard_load_store_op op = ins->load_store.op; - const char *name = load_store_opcode_names[op]; + const char *name = load_store_opcode_props[op].name; assert(name); printf("%s", name); @@ -143,15 +152,19 @@ mir_print_instruction(midgard_instruction *ins) printf(", "); mir_print_index(ins->src[0]); + mir_print_swizzle(ins->swizzle[0]); printf(", "); if (ins->has_inline_constant) printf("#%d", ins->inline_constant); - else + else { mir_print_index(ins->src[1]); + mir_print_swizzle(ins->swizzle[1]); + } printf(", "); mir_print_index(ins->src[2]); + mir_print_swizzle(ins->swizzle[2]); if (ins->has_constants) { uint32_t *uc = ins->constants; @@ -214,16 +227,3 @@ mir_print_shader(compiler_context *ctx) mir_print_block(block); } } - -void -mir_print_bundle(midgard_bundle *bundle) -{ - printf("[\n"); - - for (unsigned i = 0; i < bundle->instruction_count; ++i) { - midgard_instruction *ins = bundle->instructions[i]; - mir_print_instruction(ins); - } - - printf("]\n"); -}