diff --git a/src/compiler/nir/nir_divergence_analysis.c b/src/compiler/nir/nir_divergence_analysis.c index 3c34f5ce23f..a7bf8706774 100644 --- a/src/compiler/nir/nir_divergence_analysis.c +++ b/src/compiler/nir/nir_divergence_analysis.c @@ -154,6 +154,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr) 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_task_ring_entry_amd: case nir_intrinsic_load_task_ib_addr: case nir_intrinsic_load_task_ib_stride: diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 081db81aa07..1ed91c6453f 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -1303,6 +1303,9 @@ store("global_amd", [1, 1], indices=[BASE, ACCESS, ALIGN_MUL, ALIGN_OFFSET, WRIT # Same as shared_atomic_add, but with GDS. src[] = {store_val, gds_addr, m0} intrinsic("gds_atomic_add_amd", src_comp=[1, 1, 1], dest_comp=1, indices=[BASE]) +# src[] = { sample_id } +intrinsic("load_sample_positions_amd", src_comp=[1], dest_comp=2, flags=[CAN_ELIMINATE, CAN_REORDER]) + # Descriptor where TCS outputs are stored for TES system_value("ring_tess_offchip_amd", 4) system_value("ring_tess_offchip_offset_amd", 1)