summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanylo Piliaiev <danylo.piliaiev@globallogic.com>2020-05-14 15:29:36 +0300
committerEric Engestrom <eric@engestrom.ch>2020-05-27 21:54:17 +0200
commite81c43540c44d4babc03ba979fb75c43d91eb33b (patch)
tree2ab5e11112eb1d305c8dda440adabb06a6d47e84
parentd043d24654c851f0be57dbbf48274b5373dea42b (diff)
downloadmesa-e81c43540c44d4babc03ba979fb75c43d91eb33b.tar.gz
intel/fs: Work around dual-source blending hangs in combination with SIMD16
It was found that dual-source blending hangs with SIMD16 dispatch in some specific but unknown situation. Which in the wild happen when rgba anti-aliasing is enabled for fonts. Cc: <mesa-stable@lists.freedesktop.org> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2183 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5037> (cherry picked from commit 296c04d78c9840f83e7fcaf9b45a4cee96752348)
-rw-r--r--.pick_status.json2
-rw-r--r--src/intel/compiler/brw_fs_visitor.cpp8
2 files changed, 7 insertions, 3 deletions
diff --git a/.pick_status.json b/.pick_status.json
index b2c46534db3..54f10e92142 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -13,7 +13,7 @@
"description": "intel/fs: Work around dual-source blending hangs in combination with SIMD16",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": null
},
diff --git a/src/intel/compiler/brw_fs_visitor.cpp b/src/intel/compiler/brw_fs_visitor.cpp
index 7b315693e4a..22e83f1adb9 100644
--- a/src/intel/compiler/brw_fs_visitor.cpp
+++ b/src/intel/compiler/brw_fs_visitor.cpp
@@ -548,9 +548,13 @@ fs_visitor::emit_fb_writes()
* XXX - Emit an extra single-source NULL RT-write marked LastRT in
* order to release the thread dependency without disabling
* SIMD32.
+ *
+ * The dual-source RT write messages may lead to hangs with SIMD16
+ * dispatch on ICL due some unknown reasons, see
+ * https://gitlab.freedesktop.org/mesa/mesa/-/issues/2183
*/
- limit_dispatch_width(16, "Dual source blending unsupported "
- "in SIMD32 mode.\n");
+ limit_dispatch_width(8, "Dual source blending unsupported "
+ "in SIMD16 and SIMD32 modes.\n");
}
}