nir: add nir_intrinsic_load_poly_line_smooth_enabled

To lower smooth lines conditionally in fragment shaders for RADV
because the line rasterization mode in Vulkan can be dynamic.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21587>
This commit is contained in:
Samuel Pitoiset 2023-02-28 09:03:52 +01:00 committed by Marge Bot
parent 15bb9c4b96
commit f023ab01e9
2 changed files with 3 additions and 0 deletions

View file

@ -209,6 +209,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
case nir_intrinsic_load_ssbo_uniform_block_intel:
case nir_intrinsic_load_shared_uniform_block_intel:
case nir_intrinsic_load_barycentric_optimize_amd:
case nir_intrinsic_load_poly_line_smooth_enabled:
is_divergent = false;
break;

View file

@ -849,6 +849,8 @@ system_value("xfb_index_buffer", 1, bit_sizes=[32,64])
system_value("frag_size", 2)
system_value("frag_invocation_count", 1)
# Whether smooth lines or polygon smoothing is enabled
system_value("poly_line_smooth_enabled", 1, bit_sizes=[1])
# System values for ray tracing.
system_value("ray_launch_id", 3)