From 411de8488cb01017289bb3c4980f4800fd843d4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Wed, 27 Mar 2024 01:08:37 +0100 Subject: [PATCH] nir: Add two new AMD specific tess intrinsics. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These will be needed to implement some tessellation dynamic states within the TCS as opposed to using an epilog. Signed-off-by: Timur Kristóf Reviewed-by: Marek Olšák Reviewed-by: Samuel Pitoiset Part-of: --- src/compiler/nir/nir_divergence_analysis.c | 2 ++ src/compiler/nir/nir_intrinsics.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/compiler/nir/nir_divergence_analysis.c b/src/compiler/nir/nir_divergence_analysis.c index 01ad430556e..870ae307fba 100644 --- a/src/compiler/nir/nir_divergence_analysis.c +++ b/src/compiler/nir/nir_divergence_analysis.c @@ -159,6 +159,8 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state) case nir_intrinsic_load_fb_layers_v3d: case nir_intrinsic_load_fep_w_v3d: case nir_intrinsic_load_tcs_num_patches_amd: + case nir_intrinsic_load_tcs_tess_levels_to_tes_amd: + case nir_intrinsic_load_tcs_primitive_mode_amd: case nir_intrinsic_load_patch_vertices_in: case nir_intrinsic_load_ring_tess_factors_amd: case nir_intrinsic_load_ring_tess_offchip_amd: diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 840baa622a4..39f57c22de2 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -1518,6 +1518,10 @@ system_value("rasterization_primitive_amd", 1); # Number of patches processed by each TCS workgroup system_value("tcs_num_patches_amd", 1) +# Whether TCS should store tessellation level outputs for TES to read +system_value("tcs_tess_levels_to_tes_amd", dest_comp=1, bit_sizes=[1]) +# Tessellation primitive mode for TCS +system_value("tcs_primitive_mode_amd", 1) # Relative tessellation patch ID within the current workgroup system_value("tess_rel_patch_id_amd", 1) # Vertex offsets used for GS per-vertex inputs