From 19de4b82f9067eaf18397d195f435e02bcdf9189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Tue, 14 Oct 2025 08:03:07 -0700 Subject: [PATCH] intel/brw: Store and set sfid in memory fences MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sfid is another field that is not preserved after brw_transform_inst_to_send() so we need to store it before transform and retore it to preserve the sfid value. Fixes: 0fcce2722f20 ("brw: Add brw_send_inst") Reviewed-by: Lionel Landwerlin Signed-off-by: José Roberto de Souza Part-of: --- src/intel/compiler/brw/brw_lower_logical_sends.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/intel/compiler/brw/brw_lower_logical_sends.cpp b/src/intel/compiler/brw/brw_lower_logical_sends.cpp index 6324bc7d485..567ab45431a 100644 --- a/src/intel/compiler/brw/brw_lower_logical_sends.cpp +++ b/src/intel/compiler/brw/brw_lower_logical_sends.cpp @@ -2482,9 +2482,11 @@ lower_lsc_memory_fence_and_interlock(const brw_builder &bld, struct brw_send_ins assert(inst->size_written == reg_unit(devinfo) * REG_SIZE); const uint32_t intrinsic_desc = inst->desc; + const uint8_t sfid = inst->sfid; brw_send_inst *send = brw_transform_inst_to_send(bld, inst); inst = NULL; + send->sfid = sfid; send->check_tdr = interlock; send->has_side_effects = true; @@ -2560,9 +2562,11 @@ lower_hdc_memory_fence_and_interlock(const brw_builder &bld, brw_send_inst *inst assert(inst->size_written == (commit_enable ? REG_SIZE : 0)); + const uint8_t sfid = inst->sfid; brw_send_inst *send = brw_transform_inst_to_send(bld, inst); inst = NULL; + send->sfid = sfid; send->check_tdr = interlock; send->has_side_effects = true;