Having the disassembly always show the message descriptor and SFID makes it
easier to debug what data is actually fed to the external units. Descriptor
format was changed to unsigned so that immediate values as 'src1' will get
printed out in a readable format.
---
 src/intel/compiler/brw_disasm.c         | 10 +++++-----
 src/intel/compiler/brw_eu_emit.c        |  2 +-
 src/intel/compiler/brw_fs_generator.cpp |  2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/intel/compiler/brw_disasm.c b/src/intel/compiler/brw_disasm.c
index 5f75c67..d50bbc6 100644
--- a/src/intel/compiler/brw_disasm.c
+++ b/src/intel/compiler/brw_disasm.c
@@ -1591,11 +1591,11 @@ brw_disassemble_inst(FILE *file, const struct 
gen_device_info *devinfo,
    if (opcode == BRW_OPCODE_SEND || opcode == BRW_OPCODE_SENDC) {
       enum brw_message_target sfid = brw_inst_sfid(devinfo, inst);
 
-      if (brw_inst_src1_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE) {
-         /* show the indirect descriptor source */
-         pad(file, 48);
-         err |= src1(file, devinfo, inst);
-      }
+      pad(file, 48);
+      err |= src1(file, devinfo, inst);
+
+      pad(file, 64);
+      format(file, "0x%"PRIx32, sfid);
 
       newline(file);
       pad(file, 16);
diff --git a/src/intel/compiler/brw_eu_emit.c b/src/intel/compiler/brw_eu_emit.c
index ee5a048..d055fb1 100644
--- a/src/intel/compiler/brw_eu_emit.c
+++ b/src/intel/compiler/brw_eu_emit.c
@@ -378,7 +378,7 @@ brw_set_message_descriptor(struct brw_codegen *p,
 {
    const struct gen_device_info *devinfo = p->devinfo;
 
-   brw_set_src1(p, inst, brw_imm_d(0));
+   brw_set_src1(p, inst, brw_imm_ud(0));
 
    /* For indirect sends, `inst` will not be the SEND/SENDC instruction
     * itself; instead, it will be a MOV/OR into the address register.
diff --git a/src/intel/compiler/brw_fs_generator.cpp 
b/src/intel/compiler/brw_fs_generator.cpp
index 6d5306a..56246dd 100644
--- a/src/intel/compiler/brw_fs_generator.cpp
+++ b/src/intel/compiler/brw_fs_generator.cpp
@@ -688,7 +688,7 @@ fs_generator::generate_urb_write(fs_inst *inst, struct 
brw_reg payload)
 
    brw_set_dest(p, insn, brw_null_reg());
    brw_set_src0(p, insn, payload);
-   brw_set_src1(p, insn, brw_imm_d(0));
+   brw_set_src1(p, insn, brw_imm_ud(0));
 
    brw_inst_set_sfid(p->devinfo, insn, BRW_SFID_URB);
    brw_inst_set_urb_opcode(p->devinfo, insn, GEN8_URB_OPCODE_SIMD8_WRITE);
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to