From 92d03f7f2878b15a41077e1ea11962a47c1d9b29 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 3 Apr 2014 13:57:44 -0700 Subject: [PATCH] i965/fs: Don't propagate saturation modifiers if there are source modifiers. Which would lead to translating mad vgrf9:F, vgrf3:F, u0:F, vgrf6:F mov.sat vgrf7:F, -vgrf9:F into mad.sat vgrf9:F, vgrf3:F, u0:F, vgrf6:F mov vgrf7:F, -vgrf9:F Fixes some lighting effects in Dota2. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76749 Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp index 4f3dcff500e..35e67740137 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp @@ -42,6 +42,8 @@ opt_saturate_propagation_local(fs_visitor *v, bblock_t *block) if (inst->opcode != BRW_OPCODE_MOV || inst->dst.file != GRF || inst->src[0].file != GRF || + inst->src[0].abs || + inst->src[0].negate || !inst->saturate) continue; -- 2.30.2