This represents a float vec4 constant color, as passed to glBlendColor. While the existing 4 shader sysvals are retained to minimize code churn, a single vectorized intrinsic is required for efficient blending on vector architectures. (This may also apply to archictectures like Bifrost where ALU is scalar but load/store is vector; it largely depends on how blending is implemented per-driver.)
Signed-off-by: Alyssa Rosenzweig <aly...@rosenzweig.io> Cc: Eric Anholt <e...@anholt.net> Cc: Kenneth Graunke <kenn...@whitecape.org> --- src/compiler/nir/nir_intrinsics.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 3a0470c2ca1..df459a3cdec 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -568,11 +568,14 @@ system_value("viewport_z_offset", 1) system_value("viewport_scale", 3) system_value("viewport_offset", 3) -# Blend constant color values. Float values are clamped.# +# Blend constant color values. Float values are clamped. Vectored versions are +# provided as well for driver convenience + system_value("blend_const_color_r_float", 1) system_value("blend_const_color_g_float", 1) system_value("blend_const_color_b_float", 1) system_value("blend_const_color_a_float", 1) +system_value("blend_const_color_rgba", 4) system_value("blend_const_color_rgba8888_unorm", 1) system_value("blend_const_color_aaaa8888_unorm", 1) -- 2.20.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev