pan/bi: Move bi_interp_mode_name to bi_print
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 4 Mar 2020 14:21:25 +0000 (09:21 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 5 Mar 2020 14:35:38 +0000 (14:35 +0000)
Instead of open-coding it in the middle of the disassembler.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>

src/panfrost/bifrost/bi_print.c
src/panfrost/bifrost/bi_print.h
src/panfrost/bifrost/disassemble.c

index 020ef70c36b93cd435918371aeddb092ccd442d8..ad82c3a2aed46cb00dac9185a52356eb6f51caea 100644 (file)
@@ -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)
 {
index 8b90fa1e7daec9dbdafde3cee154a63f22df3335..fa12fb8031f1b70983860351e7a54ebe33dd6ac5 100644 (file)
@@ -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
index 6c1bebda1ec074a5c54bdaf139df305a04592a79..367cc5b96262b434808949b29621a894bf1c3c85 100644 (file)
@@ -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);