diff --git a/src/compiler/nir/nir_divergence_analysis.c b/src/compiler/nir/nir_divergence_analysis.c index 11888723d56..e8f84be127b 100644 --- a/src/compiler/nir/nir_divergence_analysis.c +++ b/src/compiler/nir/nir_divergence_analysis.c @@ -138,6 +138,8 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr) case nir_intrinsic_load_blend_const_color_rgba8888_unorm: case nir_intrinsic_load_line_width: case nir_intrinsic_load_aa_line_width: + case nir_intrinsic_load_xfb_address: + case nir_intrinsic_load_num_vertices: case nir_intrinsic_load_fb_layers_v3d: case nir_intrinsic_load_tcs_num_patches_amd: case nir_intrinsic_load_ring_tess_factors_amd: diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index ed9b3d0948c..98f84671ecc 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -807,6 +807,7 @@ system_value("workgroup_index", 1) system_value("base_workgroup_id", 3, bit_sizes=[32, 64]) system_value("user_clip_plane", 4, indices=[UCP_ID]) system_value("num_workgroups", 3, bit_sizes=[32, 64]) +system_value("num_vertices", 1) system_value("helper_invocation", 1, bit_sizes=[1, 32]) system_value("layer_id", 1) system_value("view_index", 1) @@ -836,6 +837,8 @@ system_value("scratch_base_ptr", 0, bit_sizes=[32,64], indices=[BASE]) system_value("constant_base_ptr", 0, bit_sizes=[32,64]) system_value("shared_base_ptr", 0, bit_sizes=[32,64]) system_value("global_base_ptr", 0, bit_sizes=[32,64]) +# Address of a transform feedback buffer, indexed by BASE +system_value("xfb_address", 1, bit_sizes=[32,64], indices=[BASE]) # System values for ray tracing. system_value("ray_launch_id", 3)