From 1650442026254b76f24582f4a5c567cd5f7d4a3b Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Thu, 5 Jan 2017 17:51:51 -0800 Subject: [PATCH] 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 --- src/intel/compiler/brw_fs_nir.cpp | 2 ++ 1 file changed, 2 insertions(+) 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; } -- 2.30.2