i965/fs: Use unsigned immediate 0 when eliminating SHADER_OPCODE_FIND_LIVE_CHANNEL
authorKristian Høgsberg Kristensen <krh@bitplanet.net>
Wed, 21 Oct 2015 06:07:56 +0000 (23:07 -0700)
committerKristian Høgsberg Kristensen <krh@bitplanet.net>
Fri, 23 Oct 2015 16:42:28 +0000 (09:42 -0700)
The destination for SHADER_OPCODE_FIND_LIVE_CHANNEL is always a UD
register.  When we replace the opcode with a MOV, make sure we use a UD
immediate 0 so copy propagation doesn't bail because of non-matching
types.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Kristian Høgsberg Kristensen <krh@bitplanet.net>
src/mesa/drivers/dri/i965/brw_fs.cpp

index c8df9407f03417ecd56090c72c35c79cbb097eb5..75f1a926c1d96525c2bad88126f6c6951eb812dd 100644 (file)
@@ -2614,7 +2614,7 @@ fs_visitor::eliminate_find_live_channel()
       case SHADER_OPCODE_FIND_LIVE_CHANNEL:
          if (depth == 0) {
             inst->opcode = BRW_OPCODE_MOV;
-            inst->src[0] = fs_reg(0);
+            inst->src[0] = fs_reg(0u);
             inst->sources = 1;
             inst->force_writemask_all = true;
             progress = true;