intel/fs: Disable SIMD32 dispatch for fragment shaders with discard.

Current discard handling requires dedicating the second flag register to
discard.  However, control-flow in SIMD32 requires both flag registers
so it's incompatible with the current discard handling.  Just don't
support SIMD32+discard for now.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Francisco Jerez 2017-01-05 17:51:51 -08:00 committed by Jason Ekstrand
parent 1811cbdc25
commit 1650442026
1 changed files with 2 additions and 0 deletions

View File

@ -3361,6 +3361,8 @@ fs_visitor::nir_emit_fs_intrinsic(const fs_builder &bld,
if (devinfo->gen >= 6) {
emit_discard_jump();
}
limit_dispatch_width(16, "Fragment discard not implemented in SIMD32 mode.");
break;
}