i965/fs: set rounding mode when emitting the flrp instruction
flrp was forgotten when already adding the rounding mode for other
instructions.
Fixes: ba1e25e1aa
("i965/fs: set rounding mode when emitting fadd, fmul and ffma instructions")
Suggested-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
This commit is contained in:
@@ -1817,6 +1817,13 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case nir_op_flrp:
|
case nir_op_flrp:
|
||||||
|
if (nir_has_any_rounding_mode_enabled(execution_mode)) {
|
||||||
|
brw_rnd_mode rnd =
|
||||||
|
brw_rnd_mode_from_execution_mode(execution_mode);
|
||||||
|
bld.emit(SHADER_OPCODE_RND_MODE, bld.null_reg_ud(),
|
||||||
|
brw_imm_d(rnd));
|
||||||
|
}
|
||||||
|
|
||||||
inst = bld.LRP(result, op[0], op[1], op[2]);
|
inst = bld.LRP(result, op[0], op[1], op[2]);
|
||||||
inst->saturate = instr->dest.saturate;
|
inst->saturate = instr->dest.saturate;
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user