summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2014-10-27 23:42:41 -0700
committerKristian Høgsberg <[email protected]>2014-12-10 12:28:32 -0800
commit840e8fc9203390615f051259efeab0f61f48bbfc (patch)
treefb978745a3b7afd74dbf111b11f1ceeb0d256363 /src
parent47aaabda4771524755c9b3246d967afeb300a3ca (diff)
i965: Don't copy propagate constants from sources with saturate
We don't propagate the saturate bit and some instructions can't saturate at all. If the source has saturate set, just skip propagation. Signed-off-by: Kristian Høgsberg <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
index e1989cb5e4c..611cff13846 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
@@ -425,6 +425,8 @@ fs_visitor::try_constant_propagate(fs_inst *inst, acp_entry *entry)
if (entry->src.file != IMM)
return false;
+ if (entry->saturate)
+ return false;
for (int i = inst->sources - 1; i >= 0; i--) {
if (inst->src[i].file != GRF)