From: Matt Turner Date: Thu, 28 Aug 2014 01:40:46 +0000 (-0700) Subject: i965: Emit ELSE/ENDIF JIP with type D on Gen 7. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=54e30dbf4db437748509d1319c3f6e4185f76c69;p=mesa.git i965: Emit ELSE/ENDIF JIP with type D on Gen 7. The spec says the type must be W (JIP is 16-bits after all), but we've been emitting it with a UD type all along and have experienced no adverse effects. Changing the type to D allows ELSE and ENDIF instructions to be compacted. Reviewed-by: Kenneth Graunke Reviewed-by: Jason Ekstrand --- diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 937257b20a5..15e1da7a686 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -1496,7 +1496,7 @@ brw_ELSE(struct brw_compile *p) } else if (brw->gen == 7) { brw_set_dest(p, insn, retype(brw_null_reg(), BRW_REGISTER_TYPE_D)); brw_set_src0(p, insn, retype(brw_null_reg(), BRW_REGISTER_TYPE_D)); - brw_set_src1(p, insn, brw_imm_ud(0)); + brw_set_src1(p, insn, brw_imm_d(0)); brw_inst_set_jip(brw, insn, 0); brw_inst_set_uip(brw, insn, 0); } else { @@ -1573,7 +1573,7 @@ brw_ENDIF(struct brw_compile *p) } else if (brw->gen == 7) { brw_set_dest(p, insn, retype(brw_null_reg(), BRW_REGISTER_TYPE_D)); brw_set_src0(p, insn, retype(brw_null_reg(), BRW_REGISTER_TYPE_D)); - brw_set_src1(p, insn, brw_imm_ud(0)); + brw_set_src1(p, insn, brw_imm_d(0)); } else { brw_set_src0(p, insn, brw_imm_d(0)); }