[Mesa-dev] [PATCH 24/59] i965/fs: don't propagate 64-bit immediates

Samuel Iglesias Gonsálvez siglesias at igalia.com
Fri Apr 29 11:29:21 UTC 2016


From: Connor Abbott <connor.w.abbott at intel.com>

They can only be used with 1-src instructions, which practically (since
we should've constant-propagated away all 1-src instructions with 64-bit
immediates in NIR) means that they must be kept in separate MOV's and
can't be propagated.
---
 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 ffab0a8..950323a 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
@@ -508,6 +508,8 @@ fs_visitor::try_constant_propagate(fs_inst *inst, acp_entry *entry)
 
    if (entry->src.file != IMM)
       return false;
+   if (type_sz(entry->src.type) > 4)
+      return false;
    if (entry->saturate)
       return false;
 
-- 
2.5.0



More information about the mesa-dev mailing list