nir/divergence: don't assume that load_sample_positions_amd is always uniform

Sample positions aren't uniform when the sample id is divergent.
This was a regression when we started lowering fragment shader
barycentrics in NIR.

Fixes: 7f444fc72c ("nir: add nir_intrinsic_load_sample_positions_amd")
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37843>
(cherry picked from commit fad10b91a6)
This commit is contained in:
Daniel Schürmann 2025-10-09 20:09:11 +02:00 committed by Eric Engestrom
parent 71dc6ddf45
commit d17b36653a
2 changed files with 2 additions and 2 deletions

View file

@ -884,7 +884,7 @@
"description": "nir/divergence: don't assume that load_sample_positions_amd is always uniform",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "7f444fc72c7695b60d4743c79ee4dab55d8ebd5c",
"notes": null

View file

@ -274,7 +274,6 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
case nir_intrinsic_load_ring_es2gs_offset_amd:
case nir_intrinsic_load_ring_task_draw_amd:
case nir_intrinsic_load_ring_task_payload_amd:
case nir_intrinsic_load_sample_positions_amd:
case nir_intrinsic_load_rasterization_samples_amd:
case nir_intrinsic_load_ring_gsvs_amd:
case nir_intrinsic_load_ring_gs2vs_offset_amd:
@ -719,6 +718,7 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
case nir_intrinsic_sparse_residency_code_and:
case nir_intrinsic_bvh64_intersect_ray_amd:
case nir_intrinsic_bvh8_intersect_ray_amd:
case nir_intrinsic_load_sample_positions_amd:
case nir_intrinsic_image_deref_load_param_intel:
case nir_intrinsic_image_load_raw_intel:
case nir_intrinsic_get_ubo_size: