diff --git a/src/compiler/nir/nir_divergence_analysis.c b/src/compiler/nir/nir_divergence_analysis.c index c221841c472..600a3d36092 100644 --- a/src/compiler/nir/nir_divergence_analysis.c +++ b/src/compiler/nir/nir_divergence_analysis.c @@ -146,6 +146,8 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr) case nir_intrinsic_load_ring_tess_offchip_amd: case nir_intrinsic_load_ring_tess_factors_offset_amd: case nir_intrinsic_load_ring_tess_offchip_offset_amd: + case nir_intrinsic_load_ring_mesh_scratch_amd: + case nir_intrinsic_load_ring_mesh_scratch_offset_amd: case nir_intrinsic_load_ring_esgs_amd: case nir_intrinsic_load_ring_es2gs_offset_amd: case nir_intrinsic_load_ring_task_draw_amd: diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 5fc4e93fd31..2276f424a8c 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -1296,6 +1296,9 @@ system_value("ring_es2gs_offset_amd", 1) system_value("ring_task_draw_amd", 4) # Address of the task shader payload ring (used for all other outputs) system_value("ring_task_payload_amd", 4) +# Address of the mesh shader scratch ring (used for excess mesh shader outputs) +system_value("ring_mesh_scratch_amd", 4) +system_value("ring_mesh_scratch_offset_amd", 1) # Pointer into the draw and payload rings system_value("task_ring_entry_amd", 1) # Pointer into the draw and payload rings