From a5efb0eae85106bd89537ed755501a59a9cbbc92 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Tue, 3 Sep 2019 17:31:37 -0700 Subject: [PATCH] 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 Reviewed-by: Kenneth Graunke --- src/intel/compiler/brw_fs_generator.cpp | 8 ++++++-- src/intel/compiler/brw_fs_visitor.cpp | 1 + 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"); -- 2.30.2