Re: [Mesa-dev] [PATCH v3 01/12] i965: Don't copy propagate constants from sources with saturate

2014-12-05 Thread Jason Ekstrand
On Thu, Dec 4, 2014 at 10:02 PM, Kristian Høgsberg k...@bitplanet.net
wrote:

 We don't propagate the saturate bit and some instructions can't
 saturate at all.  If the source has saturate set, just skip propagation.


I think the commit message could use some help.

The real point is that copy propagation propagates into sources but sat is
a destination modier.  The only way you can propagate a mov.sat is into
another mov by making it a mov.sat.



 Signed-off-by: Kristian Høgsberg k...@bitplanet.net
 ---
  src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp | 2 ++
  1 file changed, 2 insertions(+)

 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 e1989cb..611cff1 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)
 --
 2.2.0

 ___
 mesa-dev mailing list
 mesa-dev@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/mesa-dev

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH v3 01/12] i965: Don't copy propagate constants from sources with saturate

2014-12-04 Thread Kristian Høgsberg
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 k...@bitplanet.net
---
 src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp | 2 ++
 1 file changed, 2 insertions(+)

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 e1989cb..611cff1 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)
-- 
2.2.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev