i965: set correct execsize for MOVS with a width of 4 in brw_find_live_channel
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 3 Dec 2015 10:11:14 +0000 (11:11 +0100)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Thu, 17 Mar 2016 07:23:25 +0000 (08:23 +0100)
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/mesa/drivers/dri/i965/brw_eu_emit.c

index 68524590b2d20504c3fe7d7d0db0e754fe9a994f..1f3b32e55d838450a84707e475533420a572b399 100644 (file)
@@ -3334,11 +3334,14 @@ brw_find_live_channel(struct brw_codegen *p, struct brw_reg dst)
          /* Overwrite the destination without and with execution masking to
           * find out which of the channels is active.
           */
+         brw_push_insn_state(p);
+         brw_set_default_exec_size(p, BRW_EXECUTE_4);
          brw_MOV(p, brw_writemask(vec4(dst), WRITEMASK_X),
                  brw_imm_ud(1));
 
          inst = brw_MOV(p, brw_writemask(vec4(dst), WRITEMASK_X),
                         brw_imm_ud(0));
+         brw_pop_insn_state(p);
          brw_inst_set_mask_control(devinfo, inst, BRW_MASK_ENABLE);
       }
    }