summaryrefslogtreecommitdiffstats
path: root/src/intel/compiler
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2019-09-03 17:31:37 -0700
committerFrancisco Jerez <[email protected]>2019-10-11 12:24:16 -0700
commita5efb0eae85106bd89537ed755501a59a9cbbc92 (patch)
treece7e266d3070c5e8d57cfea604f4d57af1c752c5 /src/intel/compiler
parent6b52f813958648d7ba7ae469cac0c0a53ef1987c (diff)
intel/fs/gen12: Fix barrier codegen.
The WAIT instruction has been removed, but SYNC.bar can be used instead to wait for a notification on n0.0. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/compiler')
-rw-r--r--src/intel/compiler/brw_fs_generator.cpp8
-rw-r--r--src/intel/compiler/brw_fs_visitor.cpp1
2 files changed, 7 insertions, 2 deletions
diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp
index ffdcc96f22a..4a398640dd0 100644
--- a/src/intel/compiler/brw_fs_generator.cpp
+++ b/src/intel/compiler/brw_fs_generator.cpp
@@ -783,8 +783,12 @@ void
fs_generator::generate_barrier(fs_inst *, struct brw_reg src)
{
brw_barrier(p, src);
- brw_set_default_swsb(p, tgl_swsb_null());
- brw_WAIT(p);
+ if (devinfo->gen >= 12) {
+ brw_set_default_swsb(p, tgl_swsb_null());
+ brw_SYNC(p, TGL_SYNC_BAR);
+ } else {
+ brw_WAIT(p);
+ }
}
bool
diff --git a/src/intel/compiler/brw_fs_visitor.cpp b/src/intel/compiler/brw_fs_visitor.cpp
index d723e2818e8..6ced1b9db62 100644
--- a/src/intel/compiler/brw_fs_visitor.cpp
+++ b/src/intel/compiler/brw_fs_visitor.cpp
@@ -920,6 +920,7 @@ fs_visitor::emit_barrier()
case 10:
barrier_id_mask = 0x8f000000u; break;
case 11:
+ case 12:
barrier_id_mask = 0x7f000000u; break;
default:
unreachable("barrier is only available on gen >= 7");