diff options
author | Matt Turner <[email protected]> | 2014-04-03 13:57:44 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2014-04-05 09:47:36 -0700 |
commit | 92d03f7f2878b15a41077e1ea11962a47c1d9b29 (patch) | |
tree | b99aecfbad8f716dd638a7c92d0fb86b779fbc29 /src | |
parent | 7a7b8a02bed5a113fd0f8e45acc0eafdd7227b55 (diff) |
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
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; |