Mesa (main): pan/mdg: Fix disassembly of store instructions

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 10 13:33:47 UTC 2022


Module: Mesa
Branch: main
Commit: ca2be0748494068006f781180450390ef451d059
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca2be0748494068006f781180450390ef451d059

Author: Icecream95 <ixn at disroot.org>
Date:   Fri Dec 10 23:46:37 2021 +1300

pan/mdg: Fix disassembly of store instructions

The mask does apply for store instructions, so pass it onto
print_vec_swizzle after converting it to the right format.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16382>

---

 src/panfrost/midgard/disassemble.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/panfrost/midgard/disassemble.c b/src/panfrost/midgard/disassemble.c
index 1d8ee511292..98cdf66cb9e 100644
--- a/src/panfrost/midgard/disassemble.c
+++ b/src/panfrost/midgard/disassemble.c
@@ -1420,9 +1420,15 @@ print_load_store_instr(disassemble_context *ctx, FILE *fp, uint64_t data, bool v
                         swizzle = 0xE4;
                 print_ldst_mask(fp, word->mask, swizzle);
         } else {
+                uint8_t mask =
+                        (word->mask & 0x1) |
+                        ((word->mask & 0x2) << 1) |
+                        ((word->mask & 0x4) << 2) |
+                        ((word->mask & 0x8) << 3);
+                mask |= mask << 1;
                 print_ldst_read_reg(fp, word->reg);
                 print_vec_swizzle(fp, word->swizzle, midgard_src_passthrough,
-                                  midgard_reg_mode_32, 0xFF);
+                                  midgard_reg_mode_32, mask);
         }
 
         /* ld_ubo args */



More information about the mesa-commit mailing list