From ccbe15f3325d7a6d04d0ea18227a08f53decec16 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 3 Feb 2015 00:50:23 -0800 Subject: [PATCH] i965/fs: Fix saturate on MAD and LRP with the NIR backend. Fixes misrendering in "Witcher 2" with INTEL_USE_NIR=1, and probably many other programs. Signed-off-by: Kenneth Graunke Reviewed-by: Jason Ekstrand Reviewed-by: Matt Turner --- src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index c3c268ca1b3..da81b61a98a 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp @@ -1049,12 +1049,14 @@ fs_visitor::nir_emit_alu(nir_alu_instr *instr) break; case nir_op_ffma: - emit(MAD(result, op[2], op[1], op[0])); + inst = emit(MAD(result, op[2], op[1], op[0])); + inst->saturate = instr->dest.saturate; break; case nir_op_flrp: /* TODO emulate for gen < 6 */ - emit(LRP(result, op[2], op[1], op[0])); + inst = emit(LRP(result, op[2], op[1], op[0])); + inst->saturate = instr->dest.saturate; break; case nir_op_bcsel: -- 2.30.2