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 db5de37..d59926a 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