intel/nir: Call nir_metadata_preserve on !progress
[mesa.git] / src / intel / compiler / brw_disasm.c
index e3e9b509f1ba1b87b7f2fb136b8884aabc6879d4..486f55d7bec23169a9022950a68c4b40eaa6ac33 100644 (file)
@@ -708,6 +708,9 @@ reg(FILE *file, unsigned _reg_file, unsigned _reg_nr)
          format(file, "mask%d", _reg_nr & 0x0f);
          break;
       case BRW_ARF_MASK_STACK:
+         format(file, "ms%d", _reg_nr & 0x0f);
+         break;
+      case BRW_ARF_MASK_STACK_DEPTH:
          format(file, "msd%d", _reg_nr & 0x0f);
          break;
       case BRW_ARF_STATE:
@@ -1443,6 +1446,19 @@ src_sends_ia(FILE *file,
    return 0;
 }
 
+static int
+src_send_desc_ia(FILE *file,
+                 const struct gen_device_info *devinfo,
+                 unsigned _addr_subreg_nr)
+{
+   string(file, "a0");
+   if (_addr_subreg_nr)
+      format(file, ".%d", _addr_subreg_nr);
+   format(file, "<0>UD");
+
+   return 0;
+}
+
 static int
 src0(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
 {
@@ -1619,7 +1635,8 @@ qtr_ctrl(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst
 static int
 swsb(FILE *file, const struct gen_device_info *devinfo, const brw_inst *inst)
 {
-   const struct tgl_swsb swsb = tgl_swsb_decode(brw_inst_swsb(devinfo, inst));
+   const struct tgl_swsb swsb = tgl_swsb_decode(brw_inst_opcode(devinfo, inst),
+                                                brw_inst_swsb(devinfo, inst));
    if (swsb.regdist)
       format(file, " @%d", swsb.regdist);
    if (swsb.mode)
@@ -1786,7 +1803,7 @@ brw_disassemble_inst(FILE *file, const struct gen_device_info *devinfo,
          pad(file, 64);
          if (brw_inst_send_sel_reg32_desc(devinfo, inst)) {
             /* show the indirect descriptor source */
-            err |= src_sends_ia(file, devinfo, BRW_REGISTER_TYPE_UD, 0, 0);
+            err |= src_send_desc_ia(file, devinfo, 0);
          } else {
             has_imm_desc = true;
             imm_desc = brw_inst_send_desc(devinfo, inst);
@@ -1796,8 +1813,8 @@ brw_disassemble_inst(FILE *file, const struct gen_device_info *devinfo,
          pad(file, 80);
          if (brw_inst_send_sel_reg32_ex_desc(devinfo, inst)) {
             /* show the indirect descriptor source */
-            err |= src_sends_ia(file, devinfo, BRW_REGISTER_TYPE_UD, 0,
-                                brw_inst_send_ex_desc_ia_subreg_nr(devinfo, inst));
+            err |= src_send_desc_ia(file, devinfo,
+                                    brw_inst_send_ex_desc_ia_subreg_nr(devinfo, inst));
          } else {
             has_imm_ex_desc = true;
             imm_ex_desc = brw_inst_sends_ex_desc(devinfo, inst);