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 <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Francisco Jerez 2019-09-03 17:31:37 -07:00
parent 6b52f81395
commit a5efb0eae8
2 changed files with 7 additions and 2 deletions

View File

@ -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

View File

@ -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");