From 70aa028f274f5c25a4d38ba64f327557dbbb0c9e Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Mon, 20 Oct 2025 09:55:42 +0300 Subject: [PATCH] brw: only consider cross lane access on non scalar VGRFs Signed-off-by: Lionel Landwerlin Fixes: 1bff4f93ca ("brw: Basic infrastructure to store convergent values as scalars") Reviewed-by: Francisco Jerez Part-of: --- src/intel/compiler/brw/brw_schedule_instructions.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/intel/compiler/brw/brw_schedule_instructions.cpp b/src/intel/compiler/brw/brw_schedule_instructions.cpp index 8c025270bc4..46ee08b270a 100644 --- a/src/intel/compiler/brw/brw_schedule_instructions.cpp +++ b/src/intel/compiler/brw/brw_schedule_instructions.cpp @@ -1128,7 +1128,11 @@ has_cross_lane_access(const brw_inst *inst) for (unsigned s = 0; s < inst->sources; s++) { if (inst->src[s].file == VGRF) { - if (inst->src[s].stride == 0) + /* The instruction reads a particular lane (only relevant with non + * scalar values, otherwise this is just the way we read uniform + * values produced in reduced SIMD size). + */ + if (!inst->src[s].is_scalar && inst->src[s].stride == 0) return true; } }