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:
@@ -783,8 +783,12 @@ void
|
|||||||
fs_generator::generate_barrier(fs_inst *, struct brw_reg src)
|
fs_generator::generate_barrier(fs_inst *, struct brw_reg src)
|
||||||
{
|
{
|
||||||
brw_barrier(p, src);
|
brw_barrier(p, src);
|
||||||
|
if (devinfo->gen >= 12) {
|
||||||
brw_set_default_swsb(p, tgl_swsb_null());
|
brw_set_default_swsb(p, tgl_swsb_null());
|
||||||
|
brw_SYNC(p, TGL_SYNC_BAR);
|
||||||
|
} else {
|
||||||
brw_WAIT(p);
|
brw_WAIT(p);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
@@ -920,6 +920,7 @@ fs_visitor::emit_barrier()
|
|||||||
case 10:
|
case 10:
|
||||||
barrier_id_mask = 0x8f000000u; break;
|
barrier_id_mask = 0x8f000000u; break;
|
||||||
case 11:
|
case 11:
|
||||||
|
case 12:
|
||||||
barrier_id_mask = 0x7f000000u; break;
|
barrier_id_mask = 0x7f000000u; break;
|
||||||
default:
|
default:
|
||||||
unreachable("barrier is only available on gen >= 7");
|
unreachable("barrier is only available on gen >= 7");
|
||||||
|
Reference in New Issue
Block a user