i965/fs: Drop bogus writemasking disable bit from HALT instructions.
authorFrancisco Jerez <currojerez@riseup.net>
Mon, 8 Aug 2016 19:44:12 +0000 (12:44 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 19 Aug 2016 03:04:59 +0000 (20:04 -0700)
This may have been the reason people ran into problems with
non-uniform HALT instructions and ended up using the inefficient
ANY16H/ANY8H predicates instead of ANY4H or NORMAL in order to prevent
non-uniform discard.  The HALT instruction is able to handle
non-uniform execution masks just fine.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_fs_generator.cpp

index 647950f8d7cbf8d2dc928b4603a9b305c004c402..22190f804f13a6b66e348a64cc6f57334e5ac208 100644 (file)
@@ -1053,11 +1053,7 @@ fs_generator::generate_discard_jump(fs_inst *inst)
     * current block (or the program).
     */
    this->discard_halt_patches.push_tail(new(mem_ctx) ip_record(p->nr_insn));
-
-   brw_push_insn_state(p);
-   brw_set_default_mask_control(p, BRW_MASK_DISABLE);
    gen6_HALT(p);
-   brw_pop_insn_state(p);
 }
 
 void