diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 0303ca96103..ec6427f3d47 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -656,9 +656,10 @@ ntq_emit_tmu_general(struct v3d_compile *c, nir_intrinsic_instr *instr, */ uint32_t perquad = is_load && !vir_in_nonuniform_control_flow(c) && - c->s->info.stage == MESA_SHADER_FRAGMENT && - c->s->info.fs.needs_quad_helper_invocations && - !c->emitted_discard ? + ((c->s->info.stage == MESA_SHADER_FRAGMENT && + c->s->info.fs.needs_quad_helper_invocations && + !c->emitted_discard) || + c->s->info.uses_wide_subgroup_intrinsics) ? GENERAL_TMU_LOOKUP_PER_QUAD : GENERAL_TMU_LOOKUP_PER_PIXEL; config = 0xffffff00 | tmu_op << 3 | perquad;