i965/fs: Allow cmod propagation when src0 is a uniform or shader input
authorIan Romanick <ian.d.romanick@intel.com>
Wed, 14 Mar 2018 17:19:19 +0000 (10:19 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 26 Mar 2018 15:50:43 +0000 (08:50 -0700)
No shader-db changes.  This source must have been written by a previous
instruction, so it cannot be a uniform or a shader input.  However, this
change allows the next commit to help about 900 more shaders.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/intel/compiler/brw_fs_cmod_propagation.cpp

index 4625d69f89eba18978530eda594cd9e0b55916b4..b995a51d3c3fc3e213d6ffc115dc94aaaeebac8f 100644 (file)
@@ -62,7 +62,8 @@ opt_cmod_propagation_local(const gen_device_info *devinfo, bblock_t *block)
            inst->opcode != BRW_OPCODE_MOV) ||
           inst->predicate != BRW_PREDICATE_NONE ||
           !inst->dst.is_null() ||
-          inst->src[0].file != VGRF ||
+          (inst->src[0].file != VGRF && inst->src[0].file != ATTR &&
+           inst->src[0].file != UNIFORM) ||
           inst->src[0].abs)
          continue;