mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 22:38:05 +02:00
i965: Make emit_minmax return an instruction*.
And use it in brw_fs_nir.cpp.
This commit is contained in:
parent
2f2c00c727
commit
0e9dc59a58
3 changed files with 10 additions and 10 deletions
|
|
@ -369,14 +369,14 @@ namespace brw {
|
|||
*
|
||||
* Generally useful to get the minimum or maximum of two values.
|
||||
*/
|
||||
void
|
||||
instruction *
|
||||
emit_minmax(const dst_reg &dst, const src_reg &src0,
|
||||
const src_reg &src1, brw_conditional_mod mod) const
|
||||
{
|
||||
assert(mod == BRW_CONDITIONAL_GE || mod == BRW_CONDITIONAL_L);
|
||||
|
||||
set_condmod(mod, SEL(dst, fix_unsigned_negate(src0),
|
||||
fix_unsigned_negate(src1)));
|
||||
return set_condmod(mod, SEL(dst, fix_unsigned_negate(src0),
|
||||
fix_unsigned_negate(src1)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -950,16 +950,14 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr)
|
|||
case nir_op_fmin:
|
||||
case nir_op_imin:
|
||||
case nir_op_umin:
|
||||
inst = bld.emit(BRW_OPCODE_SEL, result, op[0], op[1]);
|
||||
inst->conditional_mod = BRW_CONDITIONAL_L;
|
||||
inst = bld.emit_minmax(result, op[0], op[1], BRW_CONDITIONAL_L);
|
||||
inst->saturate = instr->dest.saturate;
|
||||
break;
|
||||
|
||||
case nir_op_fmax:
|
||||
case nir_op_imax:
|
||||
case nir_op_umax:
|
||||
inst = bld.emit(BRW_OPCODE_SEL, result, op[0], op[1]);
|
||||
inst->conditional_mod = BRW_CONDITIONAL_GE;
|
||||
inst = bld.emit_minmax(result, op[0], op[1], BRW_CONDITIONAL_GE);
|
||||
inst->saturate = instr->dest.saturate;
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -299,12 +299,14 @@ namespace brw {
|
|||
*
|
||||
* Generally useful to get the minimum or maximum of two values.
|
||||
*/
|
||||
void
|
||||
instruction *
|
||||
emit_minmax(const dst_reg &dst, const src_reg &src0,
|
||||
const src_reg &src1, brw_conditional_mod mod) const
|
||||
{
|
||||
set_condmod(mod, SEL(dst, fix_unsigned_negate(src0),
|
||||
fix_unsigned_negate(src1)));
|
||||
assert(mod == BRW_CONDITIONAL_GE || mod == BRW_CONDITIONAL_L);
|
||||
|
||||
return set_condmod(mod, SEL(dst, fix_unsigned_negate(src0),
|
||||
fix_unsigned_negate(src1)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue