aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/tools/disasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel/tools/disasm.c')
-rw-r--r--src/intel/tools/disasm.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/intel/tools/disasm.c b/src/intel/tools/disasm.c
index 89c711b1d3f..2b51424742d 100644
--- a/src/intel/tools/disasm.c
+++ b/src/intel/tools/disasm.c
@@ -45,13 +45,15 @@ is_send(uint32_t opcode)
}
void
-gen_disasm_disassemble(struct gen_disasm *disasm, void *assembly, int start,
- int end, FILE *out)
+gen_disasm_disassemble(struct gen_disasm *disasm, void *assembly,
+ int start, FILE *out)
{
struct gen_device_info *devinfo = &disasm->devinfo;
bool dump_hex = false;
+ int offset = start;
- for (int offset = start; offset < end;) {
+ /* This loop exits when send-with-EOT or when opcode is 0 */
+ while (true) {
brw_inst *insn = assembly + offset;
brw_inst uncompacted;
bool compacted = brw_inst_cmpt_control(devinfo, insn);