projects
/
platform
/
upstream
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4a4b058
)
intel/compiler: Add Wa_14014063774 for slm_fence
author
Sagar Ghuge
<sagar.ghuge@intel.com>
Fri, 21 May 2021 06:48:47 +0000
(23:48 -0700)
committer
Marge Bot
<emma+marge@anholt.net>
Sat, 25 Mar 2023 00:45:04 +0000
(
00:45
+0000)
Before SLM fence compiler needs to insert SYNC.ALLWR in order to avoid
the SLM data race.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22050>
src/intel/compiler/brw_fs_nir.cpp
patch
|
blob
|
history
diff --git
a/src/intel/compiler/brw_fs_nir.cpp
b/src/intel/compiler/brw_fs_nir.cpp
index
36d822e
..
89efcca
100644
(file)
--- a/
src/intel/compiler/brw_fs_nir.cpp
+++ b/
src/intel/compiler/brw_fs_nir.cpp
@@
-4424,6
+4424,16
@@
fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
if (slm_fence) {
assert(opcode == SHADER_OPCODE_MEMORY_FENCE);
+ if (intel_needs_workaround(devinfo, 14014063774)) {
+ /* Wa_14014063774
+ *
+ * Before SLM fence compiler needs to insert SYNC.ALLWR in order
+ * to avoid the SLM data race.
+ */
+ ubld.exec_all().group(1, 0).emit(
+ BRW_OPCODE_SYNC, ubld.null_reg_ud(),
+ brw_imm_ud(TGL_SYNC_ALLWR));
+ }
fence_regs[fence_regs_count++] =
emit_fence(ubld, opcode, GFX12_SFID_SLM, desc,
true /* commit_enable */,