diff options
author | Eric Anholt <eric@anholt.net> | 2010-05-13 17:24:36 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-05-14 11:27:59 -0700 |
commit | 36eda76fea02130d30be6a5f0d83f04698da2853 (patch) | |
tree | e6af4da268da3b71ad4fef99c4271b9d45f6b6eb /src/mesa/drivers/dri/i965/brw_disasm.c | |
parent | 562e2d114ec0cba879463980522d1d54af9444e6 (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.c | 14 |
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); |