Module: Mesa
Branch: main
Commit: 60544cae07d8d7c32093f5984615b18cbf89b219
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=60544cae07d8d7c32093f5984615b18cbf89b219

Author: Mary Guillemard <mary.guillem...@collabora.com>
Date:   Fri Oct 13 12:42:53 2023 +0200

nir: Add a ldtram_nv intrinsic

Signed-off-by: Mary Guillemard <mary.guillem...@collabora.com>
Acked-by: Faith Ekstrand <faith.ekstr...@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26224>

---

 src/compiler/nir/nir_divergence_analysis.c | 1 +
 src/compiler/nir/nir_intrinsics.py         | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/src/compiler/nir/nir_divergence_analysis.c 
b/src/compiler/nir/nir_divergence_analysis.c
index 9e295c01624..047da6a2037 100644
--- a/src/compiler/nir/nir_divergence_analysis.c
+++ b/src/compiler/nir/nir_divergence_analysis.c
@@ -622,6 +622,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr 
*instr)
    case nir_intrinsic_al2p_nv:
    case nir_intrinsic_ald_nv:
    case nir_intrinsic_ipa_nv:
+   case nir_intrinsic_ldtram_nv:
       is_divergent = true;
       break;
 
diff --git a/src/compiler/nir/nir_intrinsics.py 
b/src/compiler/nir/nir_intrinsics.py
index 2a67586afd6..183c6e2c989 100644
--- a/src/compiler/nir/nir_intrinsics.py
+++ b/src/compiler/nir/nir_intrinsics.py
@@ -2024,6 +2024,9 @@ intrinsic("ast_nv", src_comp=[0, 1, 1],
 # src[] = { inv_w, offset }.
 intrinsic("ipa_nv", dest_comp=1, src_comp=[1, 1], bit_sizes=[32],
           indices=[BASE, FLAGS], flags=[CAN_ELIMINATE, CAN_REORDER])
+# FLAGS indicate if we load vertex_id == 2
+intrinsic("ldtram_nv", dest_comp=2, bit_sizes=[32],
+          indices=[BASE, FLAGS], flags=[CAN_ELIMINATE, CAN_REORDER])
 
 # NVIDIA-specific Geometry Shader intrinsics.
 # These contain an additional integer source and destination with the 
primitive handle input/output.

Reply via email to