[Mesa-dev] [PATCH] i965/disasm: Always print message descriptor and SFID for SEND instructions
Toni Lönnberg
toni.lonnberg at intel.com
Thu May 17 09:04:58 UTC 2018
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
More information about the mesa-dev
mailing list