summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2016-03-06 19:03:56 -0800
committerFrancisco Jerez <currojerez@riseup.net>2016-03-14 14:58:19 -0700
commitb0546057220ac2906913bfd283aaefa6c4cb6038 (patch)
treec22e35e7b1b7cb5cf9c68e816fe4ca2b5c2fe44b /src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp
parent7d7990cf657550be4d038a0424ffdc0ef7fd8faa (diff)
downloadexternal_mesa3d-b0546057220ac2906913bfd283aaefa6c4cb6038.zip
external_mesa3d-b0546057220ac2906913bfd283aaefa6c4cb6038.tar.gz
external_mesa3d-b0546057220ac2906913bfd283aaefa6c4cb6038.tar.bz2
i965/fs: Restrict inequality that can only hold equal in saturate propagation.
Should have no functional change. The IP value of an instruction that reads src_var cannot possibly be after the end of the live interval of the variable it's reading from, by the definition of live interval. Might save future readers a momentary WTF while trying to understand this code. Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp2
1 files changed, 1 insertions, 1 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 dc2b0c8..f59fdbd 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp
@@ -73,7 +73,7 @@ opt_saturate_propagation_local(fs_visitor *v, bblock_t *block)
if (scan_inst->saturate) {
inst->saturate = false;
progress = true;
- } else if (src_end_ip <= ip || inst->dst.equals(inst->src[0])) {
+ } else if (src_end_ip == ip || inst->dst.equals(inst->src[0])) {
if (scan_inst->can_do_saturate()) {
if (scan_inst->dst.type != inst->dst.type) {
scan_inst->dst.type = inst->dst.type;