summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2017-01-05 17:51:51 -0800
committerJason Ekstrand <[email protected]>2018-06-28 13:19:38 -0700
commit1650442026254b76f24582f4a5c567cd5f7d4a3b (patch)
tree9a37da94c6063791d00d4d0aa73a5a95368a68cb /src
parent1811cbdc25371362fcc7ab3dfe49bb020f7cc849 (diff)
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 <[email protected]> Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/intel/compiler/brw_fs_nir.cpp2
1 files changed, 2 insertions, 0 deletions
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;
}