OSDN Git Service

i965: Add a function to disassemble an instruction from the 4 dwords.
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 6 Feb 2015 08:36:26 +0000 (00:36 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 17 Feb 2015 23:24:15 +0000 (15:24 -0800)
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@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/brw_disasm.c

index 7405d9b..863a6b3 100644 (file)
@@ -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)