mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
i965: Emit IF/ELSE/ENDIF/WHILE JIP with type W on Gen7
IvyBridge and Haswell PRM say that the JIP should be emitted with type W but we were using UD. The previous implementation did not show adverse effects, but IMHO it is safer to follow the specification thoroughly. Reviewed-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Antia Puentes <apuentes@igalia.com>
This commit is contained in:
parent
dc39413640
commit
9735a62a2c
1 changed files with 4 additions and 4 deletions
|
|
@ -1332,7 +1332,7 @@ brw_IF(struct brw_compile *p, unsigned execute_size)
|
|||
} else if (brw->gen == 7) {
|
||||
brw_set_dest(p, insn, vec1(retype(brw_null_reg(), BRW_REGISTER_TYPE_D)));
|
||||
brw_set_src0(p, insn, vec1(retype(brw_null_reg(), BRW_REGISTER_TYPE_D)));
|
||||
brw_set_src1(p, insn, brw_imm_ud(0));
|
||||
brw_set_src1(p, insn, brw_imm_w(0));
|
||||
brw_inst_set_jip(brw, insn, 0);
|
||||
brw_inst_set_uip(brw, insn, 0);
|
||||
} else {
|
||||
|
|
@ -1533,7 +1533,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_w(0));
|
||||
brw_inst_set_jip(brw, insn, 0);
|
||||
brw_inst_set_uip(brw, insn, 0);
|
||||
} else {
|
||||
|
|
@ -1610,7 +1610,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_w(0));
|
||||
} else {
|
||||
brw_set_src0(p, insn, brw_imm_d(0));
|
||||
}
|
||||
|
|
@ -1802,7 +1802,7 @@ brw_WHILE(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_w(0));
|
||||
brw_inst_set_jip(brw, insn, br * (do_insn - insn));
|
||||
} else {
|
||||
brw_set_dest(p, insn, brw_imm_w(0));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue