diff --git a/.pick_status.json b/.pick_status.json index c011e78c5c0..451359328f9 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5354,7 +5354,7 @@ "description": "nir: panfrost tile loads are always divergent", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/compiler/nir/nir_divergence_analysis.c b/src/compiler/nir/nir_divergence_analysis.c index c718d4cfa8e..237218dd59c 100644 --- a/src/compiler/nir/nir_divergence_analysis.c +++ b/src/compiler/nir/nir_divergence_analysis.c @@ -661,14 +661,6 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state) load_may_tear(state, instr); break; - case nir_intrinsic_load_converted_output_pan: - case nir_intrinsic_load_readonly_output_pan: - is_divergent = ((src_divergent(instr->src[0], state) || - src_divergent(instr->src[2], state)) && - (nir_intrinsic_access(instr) & ACCESS_NON_UNIFORM)) || - src_divergent(instr->src[1], state); - break; - case nir_intrinsic_optimization_barrier_vgpr_amd: is_divergent = src_divergent(instr->src[0], state); break; @@ -995,6 +987,8 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state) case nir_intrinsic_store_shared_unlock_nv: case nir_intrinsic_bvh_stack_rtn_amd: case nir_intrinsic_cmat_load_shared_nv: + case nir_intrinsic_load_converted_output_pan: + case nir_intrinsic_load_readonly_output_pan: is_divergent = true; break;