summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_disasm.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-05-13 17:24:36 -0700
committerEric Anholt <eric@anholt.net>2010-05-14 11:27:59 -0700
commit36eda76fea02130d30be6a5f0d83f04698da2853 (patch)
treee6af4da268da3b71ad4fef99c4271b9d45f6b6eb /src/mesa/drivers/dri/i965/brw_disasm.c
parent562e2d114ec0cba879463980522d1d54af9444e6 (diff)
i965: Dump out the correct shared function for SEND on Ironlake.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_disasm.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_disasm.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c
index db3fc50a63..9c600f28bd 100644
--- a/src/mesa/drivers/dri/i965/brw_disasm.c
+++ b/src/mesa/drivers/dri/i965/brw_disasm.c
@@ -774,7 +774,7 @@ static int src1 (FILE *file, struct brw_instruction *inst)
}
}
-int brw_disasm (FILE *file, struct brw_instruction *inst)
+int brw_disasm (FILE *file, struct brw_instruction *inst, int gen)
{
int err = 0;
int space = 0;
@@ -829,12 +829,20 @@ int brw_disasm (FILE *file, struct brw_instruction *inst)
}
if (inst->header.opcode == BRW_OPCODE_SEND) {
+ int target;
+
+ if (gen >= 5)
+ target = inst->bits2.send_gen5.sfid;
+ else
+ target = inst->bits3.generic.msg_target;
+
newline (file);
pad (file, 16);
space = 0;
err |= control (file, "target function", target_function,
- inst->bits3.generic.msg_target, &space);
- switch (inst->bits3.generic.msg_target) {
+ target, &space);
+
+ switch (target) {
case BRW_MESSAGE_TARGET_MATH:
err |= control (file, "math function", math_function,
inst->bits3.math.function, &space);