nir: Add r600 specific intrinsics for tesselation shader IO
authorGert Wollny <gert.wollny@collabora.com>
Sun, 12 Apr 2020 14:35:42 +0000 (16:35 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 23 Apr 2020 18:23:04 +0000 (18:23 +0000)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4610>

src/compiler/nir/nir_intrinsics.py

index fb4c459e0627a1a8933881e30c6e951281d7fb4f..6ce3ce147b69249312e29a45c861772941490692 100644 (file)
@@ -889,6 +889,18 @@ load("sampler_lod_parameters_pan", 1, [CAN_ELIMINATE, CAN_REORDER])
 # src[] = { buffer_index, offset }.
 load("ubo_r600", 2, [ACCESS, ALIGN_MUL, ALIGN_OFFSET], flags=[CAN_ELIMINATE, CAN_REORDER])
 
+# location where the tesselation data is stored in LDS
+system_value("tcs_in_param_base_r600", 4)
+system_value("tcs_out_param_base_r600", 4)
+system_value("tcs_rel_patch_id_r600", 1)
+system_value("tcs_tess_factor_base_r600", 1)
+
+# load as many components as needed giving per-component addresses
+intrinsic("load_local_shared_r600", src_comp=[0], dest_comp=0, indices = [COMPONENT], flags = [CAN_ELIMINATE, CAN_REORDER])
+
+store("local_shared_r600", 2, [WRMASK])
+store("tf_r600", 1)
+
 # V3D-specific instrinc for tile buffer color reads.
 #
 # The hardware requires that we read the samples and components of a pixel