From 25eb75cd964c847d01072ce6ad080decfe6f6795 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 22 Jun 2026 12:26:32 -0400 Subject: [PATCH] jay/lower_scoreboard: fix barriers in trivial SWSB otherwise =sync hangs! this should make debugging more pleasant. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/intel/compiler/jay/jay_lower_scoreboard.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/intel/compiler/jay/jay_lower_scoreboard.c b/src/intel/compiler/jay/jay_lower_scoreboard.c index 2c43bc0471d..e8cc6abbfa8 100644 --- a/src/intel/compiler/jay/jay_lower_scoreboard.c +++ b/src/intel/compiler/jay/jay_lower_scoreboard.c @@ -511,6 +511,13 @@ jay_lower_scoreboard_trivial(jay_shader *shader) jay_builder b = jay_init_builder(func, jay_after_inst(I)); sync_sbids(&b, BITFIELD_BIT(0), GEN_SBID_DST); + + /* Barriers are non-EOT gateway messages. Insert the needed SYNC */ + if (I->op == JAY_OPCODE_SEND && + jay_send_sfid(I) == GEN_SFID_MESSAGE_GATEWAY) { + b.cursor = jay_after_inst(I); + jay_SYNC(&b, jay_null(), TGL_SYNC_BAR); + } } else if (I->op == JAY_OPCODE_SCHEDULE_BARRIER) { jay_remove_instruction(I); } else {