summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
diff options
context:
space:
mode:
authorConnor Abbott <connor.w.abbott@intel.com>2015-08-03 14:53:05 -0700
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>2016-05-10 11:25:05 +0200
commit0f2e227d5ce6de4697ba94ed57f5ff7ca2d86f69 (patch)
tree5586597ba9e3de0b2e6cd58a27cc43fe89067983 /src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
parent0f1690fd9514f7a282141a7ad57a06b334b6c1a4 (diff)
downloadexternal_mesa3d-0f2e227d5ce6de4697ba94ed57f5ff7ca2d86f69.zip
external_mesa3d-0f2e227d5ce6de4697ba94ed57f5ff7ca2d86f69.tar.gz
external_mesa3d-0f2e227d5ce6de4697ba94ed57f5ff7ca2d86f69.tar.bz2
i965/fs: don't propagate 64-bit immediates
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. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp')
-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 2e8c84f..4d727c1 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;