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; } }