From bd5ebbb2f8bcfcd178d8bc62a55ab97abb57e140 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 9 Feb 2026 18:53:03 -0500 Subject: [PATCH] brw: drop buggy SLM optimization This was incorrect for OpenCL due to the possibility of variable shared memory existing despite shared_size == 0. Fortunately the optimization it was trying to do should be done in NIR via nir_opt_barrier_modes so we can just drop the brw code and move on with our merry lives. Fixes OpenCL tests on Iris: non_uniform_work_group non_uniform_3d_barriers basic async_strided_copy_local_to_global Cc: mesa-stable Signed-off-by: Alyssa Rosenzweig Reviewed-by: Kenneth Graunke Part-of: --- src/intel/compiler/brw/brw_from_nir.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/intel/compiler/brw/brw_from_nir.cpp b/src/intel/compiler/brw/brw_from_nir.cpp index b733e322d10..c776aa76061 100644 --- a/src/intel/compiler/brw/brw_from_nir.cpp +++ b/src/intel/compiler/brw/brw_from_nir.cpp @@ -5093,12 +5093,6 @@ brw_from_nir_emit_intrinsic(nir_to_brw_state &ntb, if (opcode == BRW_OPCODE_NOP) break; - if (s.nir->info.shared_size > 0) { - assert(mesa_shader_stage_uses_workgroup(s.stage)); - } else { - slm_fence = false; - } - /* If the workgroup fits in a single HW thread, the messages for SLM are * processed in-order and the shader itself is already synchronized so * the memory fence is not necessary.