From: Francisco Jerez Date: Fri, 6 Jan 2017 01:51:51 +0000 (-0800) Subject: intel/fs: Disable SIMD32 dispatch for fragment shaders with discard. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1650442026254b76f24582f4a5c567cd5f7d4a3b;p=mesa.git 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 Reviewed-by: Matt Turner --- diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index 9273b300241..7ee68debad2 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -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; }