From: Kenneth Graunke Date: Wed, 27 Apr 2011 00:24:38 +0000 (-0700) Subject: i965: Enable channel masks in Ivybridge's URB_WRITE_HWORD header. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=09d881bf7420c97a0f684283c24b8ec3e42404ff;p=mesa.git i965: Enable channel masks in Ivybridge's URB_WRITE_HWORD header. This shouldn't be done using MRFs, but until I have a proper solution for dealing with MRFs, this allows my hack to keep working. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 8a7bcfc5db2..528b907520e 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -2180,6 +2180,14 @@ void brw_urb_WRITE(struct brw_compile *p, gen6_resolve_implied_move(p, &src0, msg_reg_nr); + if (intel->gen == 7) { + /* Enable Channel Masks in the URB_WRITE_HWORD message header */ + brw_OR(p, retype(brw_vec1_reg(BRW_MESSAGE_REGISTER_FILE, msg_reg_nr, 5), + BRW_REGISTER_TYPE_UD), + retype(brw_vec1_grf(0, 5), BRW_REGISTER_TYPE_UD), + brw_imm_ud(0xff00)); + } + insn = next_insn(p, BRW_OPCODE_SEND); assert(msg_length < BRW_MAX_MRF);