nir: panfrost tile loads are always divergent

Each lane refers to a different pixel.

Cc: mesa-stable
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
(cherry picked from commit 4189865347)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39745>
This commit is contained in:
Faith Ekstrand 2026-01-15 02:43:27 -05:00 committed by Dylan Baker
parent 2a0904094c
commit c1e43a16c3
2 changed files with 3 additions and 9 deletions

View file

@ -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

View file

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