summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_disasm.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-10-04 15:08:03 -0700
committerEric Anholt <eric@anholt.net>2010-10-06 10:09:45 -0700
commitfeca6609390d4642418cf7aab878e654964510c4 (patch)
tree098c2ac46c78d20c5a2115fb2c9ef4b72bb36051 /src/mesa/drivers/dri/i965/brw_disasm.c
parentf7cb28fad9855020e9fbd1481df03bb09346d4be (diff)
i965: Fix up IF/ELSE/ENDIF for gen6.
The jump delta is now in the part of the instruction where the destination fields used to be, and the src args are ignored (or not, for the new non-predicated IF that we don't use yet).
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_disasm.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_disasm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c
index 3a93b25377..be27f9226c 100644
--- a/src/mesa/drivers/dri/i965/brw_disasm.c
+++ b/src/mesa/drivers/dri/i965/brw_disasm.c
@@ -892,7 +892,12 @@ int brw_disasm (FILE *file, struct brw_instruction *inst, int gen)
if (opcode[inst->header.opcode].ndst > 0) {
pad (file, 16);
err |= dest (file, inst);
+ } else if (gen >= 6 && (inst->header.opcode == BRW_OPCODE_IF ||
+ inst->header.opcode == BRW_OPCODE_ELSE ||
+ inst->header.opcode == BRW_OPCODE_ENDIF)) {
+ format (file, " %d", inst->bits1.branch_gen6.jump_count);
}
+
if (opcode[inst->header.opcode].nsrc > 0) {
pad (file, 32);
err |= src0 (file, inst);