i965/fs: do not require force_writemask_all with exec_size 4
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Mon, 20 Jun 2016 10:13:14 +0000 (12:13 +0200)
committerSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Wed, 13 Jul 2016 05:09:41 +0000 (07:09 +0200)
So far we only used instructions with this size in situations where we
did not operate per-channel and we wanted to ignore the execution mask,
but gen7 fp64 will need to emit code with a width of 4 that needs
normal execution masking.

v2:
- Modify the assert instead of deleting it (Curro)

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/mesa/drivers/dri/i965/brw_fs_generator.cpp

index d25d26a9140f817492007a5d127ea5e774d0ca46..ce1ec0a588561b533fb831dbaa183434caf8e02d 100644 (file)
@@ -1649,7 +1649,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
       brw_set_default_acc_write_control(p, inst->writes_accumulator);
       brw_set_default_exec_size(p, cvt(inst->exec_size) - 1);
 
-      assert(inst->force_writemask_all || inst->exec_size >= 8);
+      assert(inst->force_writemask_all || inst->exec_size >= 4);
       assert(inst->force_writemask_all || inst->group % inst->exec_size == 0);
       assert(inst->base_mrf + inst->mlen <= BRW_MAX_MRF(devinfo->gen));
       assert(inst->mlen <= BRW_MAX_MSG_LENGTH);