nir: add nir_load_rasterization_samples_amd
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 15 Sep 2022 12:47:03 +0000 (14:47 +0200)
committerMarge Bot <emma+marge@anholt.net>
Wed, 21 Sep 2022 10:30:33 +0000 (10:30 +0000)
This will be used to load the number of rasterization samples when a
fragment shader is compiled inside a library without the MSAA state.
RADV needs to know the number of samples for loading sample positions
with interpolateAtSample().

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18677>

src/compiler/nir/nir_divergence_analysis.c
src/compiler/nir/nir_intrinsics.py

index a7bf870..5199f4a 100644 (file)
@@ -155,6 +155,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
    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_task_ring_entry_amd:
    case nir_intrinsic_load_task_ib_addr:
    case nir_intrinsic_load_task_ib_stride:
index 1ed91c6..8681791 100644 (file)
@@ -1334,6 +1334,8 @@ system_value("tcs_num_patches_amd", 1)
 system_value("tess_rel_patch_id_amd", 1)
 # Vertex offsets used for GS per-vertex inputs
 system_value("gs_vertex_offset_amd", 1, [BASE])
+# Number of rasterization samples
+system_value("rasterization_samples_amd", 1)
 
 # AMD merged shader intrinsics