From aef0f00cbc976a29e5b66da4b2abbd2bcd9c0d52 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 4 Mar 2020 09:21:25 -0500 Subject: [PATCH] pan/bi: Move bi_interp_mode_name to bi_print Instead of open-coding it in the middle of the disassembler. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bi_print.c | 12 ++++++++++++ src/panfrost/bifrost/bi_print.h | 1 + src/panfrost/bifrost/disassemble.c | 14 +------------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/panfrost/bifrost/bi_print.c b/src/panfrost/bifrost/bi_print.c index 020ef70c36b..ad82c3a2aed 100644 --- a/src/panfrost/bifrost/bi_print.c +++ b/src/panfrost/bifrost/bi_print.c @@ -78,6 +78,18 @@ bi_csel_cond_name(enum bifrost_csel_cond cond) } } +const char * +bi_interp_mode_name(enum bifrost_interp_mode mode) +{ + switch (mode) { + case BIFROST_INTERP_PER_FRAG: return ".per_frag"; + case BIFROST_INTERP_CENTROID: return ".centroid"; + case BIFROST_INTERP_DEFAULT: return ""; + case BIFROST_INTERP_EXPLICIT: return ".explicit"; + default: return ".unknown"; + } +} + const char * bi_ldst_type_name(enum bifrost_ldst_type type) { diff --git a/src/panfrost/bifrost/bi_print.h b/src/panfrost/bifrost/bi_print.h index 8b90fa1e7da..fa12fb8031f 100644 --- a/src/panfrost/bifrost/bi_print.h +++ b/src/panfrost/bifrost/bi_print.h @@ -33,6 +33,7 @@ const char * bi_output_mod_name(enum bifrost_outmod mod); const char * bi_minmax_mode_name(enum bifrost_minmax_mode mod); const char * bi_round_mode_name(enum bifrost_roundmode mod); const char * bi_csel_cond_name(enum bifrost_csel_cond cond); +const char * bi_interp_mode_name(enum bifrost_interp_mode mode); const char * bi_ldst_type_name(enum bifrost_ldst_type type); #endif diff --git a/src/panfrost/bifrost/disassemble.c b/src/panfrost/bifrost/disassemble.c index 6c1bebda1ec..367cc5b9626 100644 --- a/src/panfrost/bifrost/disassemble.c +++ b/src/panfrost/bifrost/disassemble.c @@ -1216,19 +1216,7 @@ static void dump_add(FILE *fp, uint64_t word, struct bifrost_regs regs, fprintf(fp, ".reuse"); if (ADD.op & 0x400) fprintf(fp, ".flat"); - switch ((ADD.op >> 7) & 0x3) { - case BIFROST_INTERP_PER_FRAG: - fprintf(fp, ".per_frag"); - break; - case BIFROST_INTERP_CENTROID: - fprintf(fp, ".centroid"); - break; - case BIFROST_INTERP_DEFAULT: - break; - case BIFROST_INTERP_EXPLICIT: - fprintf(fp, ".explicit"); - break; - } + fprintf(fp, "%s", bi_interp_mode_name((ADD.op >> 7) & 0x3)); fprintf(fp, ".v%d", ((ADD.op >> 5) & 0x3) + 1); } else if (info.src_type == ADD_BRANCH) { enum bifrost_branch_code branchCode = (enum bifrost_branch_code) ((ADD.op >> 6) & 0x3f); -- 2.30.2