nir: Add intrinsics for the line width
authorNeil Roberts <nroberts@igalia.com>
Mon, 22 Jun 2020 07:49:33 +0000 (09:49 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 6 Jul 2020 21:59:16 +0000 (21:59 +0000)
The first intrinsic is intended to expose the value set by glLineWidth
to shaders internally. The second intrinsic exposes the value actually
sent to the hardware. This may be wider than the first one in order to
implement anti-aliasing. These will be used in later patches to
implement a line smoothing lowering pass.

v2: Add a second intrinsic for the expanded line width for
    anti-aliasing.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5624>

src/compiler/nir/nir_intrinsics.py

index db5de37018721edd2a51f91e3c8682b0892c1246..d59926a2901bb0e456bc2b0ff5acf7f5b140ac1e 100644 (file)
@@ -606,6 +606,8 @@ system_value("local_group_size", 3)
 system_value("global_invocation_id", 3, bit_sizes=[32, 64])
 system_value("global_invocation_index", 1, bit_sizes=[32, 64])
 system_value("work_dim", 1)
+system_value("line_width", 1)
+system_value("aa_line_width", 1)
 # Driver-specific viewport scale/offset parameters.
 #
 # VC4 and V3D need to emit a scaled version of the position in the vertex