[Mesa-dev] [PATCH] i965: Add a function to disassemble an instruction from the 4 dwords.

Kenneth Graunke kenneth at whitecape.org
Fri Feb 6 00:36:26 PST 2015


I used this a while back when debugging GPU hangs, and it seems like it
could be useful, so I figured I'd add it so people can use it in the
debugger.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/mesa/drivers/dri/i965/brw_disasm.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

>From the clearing out my 162 branches file...

diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c
index 7405d9b..863a6b3 100644
--- a/src/mesa/drivers/dri/i965/brw_disasm.c
+++ b/src/mesa/drivers/dri/i965/brw_disasm.c
@@ -1197,6 +1197,18 @@ qtr_ctrl(FILE *file, struct brw_context *brw, brw_inst *inst)
    return 0;
 }
 
+#ifdef DEBUG
+static __attribute__((__unused__)) int
+brw_disassemble_imm(struct brw_context *brw,
+                    uint32_t dw3, uint32_t dw2, uint32_t dw1, uint32_t dw0)
+{
+   brw_inst inst;
+   inst.data[0] = (((uint64_t) dw1) << 32) | ((uint64_t) dw0);
+   inst.data[1] = (((uint64_t) dw3) << 32) | ((uint64_t) dw2);
+   return brw_disassemble_inst(stderr, brw, &inst, false);
+}
+#endif
+
 int
 brw_disassemble_inst(FILE *file, struct brw_context *brw, brw_inst *inst,
                      bool is_compacted)
-- 
2.2.2



More information about the mesa-dev mailing list