summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2022-08-22 14:28:47 -0700
committerJordan Justen <jordan.l.justen@intel.com>2024-03-20 15:46:44 -0700
commit0aed86a3872d7b7de1028b20f7f218ae097cabe8 (patch)
tree0c1a9eb7131df626aac230b81b2d118ac035b536
parent522d9c5d9dc1630aa8fbae7fcea949e5e6e65413 (diff)
intel/brw/xe2: Correctly disassemble RT write subtypesxe2-compiler-2-subset
The encoding changed when SIMD32 was added. Part of Wa_14011334914. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-rw-r--r--src/intel/compiler/brw_disasm.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_disasm.c b/src/intel/compiler/brw_disasm.c
index ccf6780eade..09aa0191b31 100644
--- a/src/intel/compiler/brw_disasm.c
+++ b/src/intel/compiler/brw_disasm.c
@@ -326,6 +326,16 @@ static const char *const m_rt_write_subtype[] = {
[0b111] = "SIMD16/RepData-111", /* no idea how this is different than 1 */
};
+static const char *const m_rt_write_subtype_xe2[] = {
+ [0b000] = "SIMD16",
+ [0b001] = "SIMD32",
+ [0b010] = "SIMD16/DualSrc",
+ [0b011] = "invalid",
+ [0b100] = "invalid",
+ [0b101] = "invalid",
+ [0b111] = "invalid",
+};
+
static const char *const dp_dc0_msg_type_gfx7[16] = {
[GFX7_DATAPORT_DC_OWORD_BLOCK_READ] = "DC OWORD block read",
[GFX7_DATAPORT_DC_UNALIGNED_OWORD_BLOCK_READ] =
@@ -2183,7 +2193,8 @@ brw_disassemble_inst(FILE *file, const struct brw_isa_info *isa,
GFX6_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_WRITE;
if (is_rt_write) {
- err |= control(file, "RT message type", m_rt_write_subtype,
+ err |= control(file, "RT message type",
+ devinfo->ver >= 20 ? m_rt_write_subtype_xe2 : m_rt_write_subtype,
brw_inst_rt_message_type(devinfo, inst), &space);
if (brw_inst_rt_slot_group(devinfo, inst))
string(file, " Hi");