From 0235ed18a79e81b8c9588343019941b52a970dcf Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Tue, 11 May 2021 09:56:24 +0200 Subject: [PATCH] broadcom/compiler: don't use nir_src_is_dynamically_uniform Now that we have divergence analysis we should use that. Reviewed-by: Juan A. Suarez Part-of: --- src/broadcom/compiler/nir_to_vir.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 89655cc5ccd..691ca4bb4f0 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -2466,8 +2466,10 @@ emit_store_output_gs(struct v3d_compile *c, nir_intrinsic_instr *instr) * different offsets in the VPM and we need to use the scatter write * instruction to have a different offset for each lane. */ - vir_VPM_WRITE_indirect(c, val, offset, - nir_src_is_dynamically_uniform(instr->src[1])); + bool is_uniform_offset = + !vir_in_nonuniform_control_flow(c) && + !nir_src_is_divergent(instr->src[1]); + vir_VPM_WRITE_indirect(c, val, offset, is_uniform_offset); if (vir_in_nonuniform_control_flow(c)) { struct qinst *last_inst =