summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_intrinsics.py
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-02-22 14:26:26 -0800
committerEric Anholt <[email protected]>2019-03-05 10:59:40 -0800
commit2780a99ff80cf84f887e8a1dca0079271f90f947 (patch)
treea78779a32e805091a16d98e2c60e0d0e596903a2 /src/compiler/nir/nir_intrinsics.py
parenta9dd227a47c8fd767b313827ccbb9e3c67e6b8e7 (diff)
v3d: Move the stores for fixed function VS output reads into NIR.
This lets us emit the VPM_WRITEs directly from nir_intrinsic_store_output() (useful once NIR scheduling is in place so that we can reduce register pressure), and lets future NIR scheduling schedule the math to generate them. Even in the meantime, it looks like this lets NIR DCE some more code and make better decisions. total instructions in shared programs: 6429246 -> 6412976 (-0.25%) total threads in shared programs: 153924 -> 153934 (<.01%) total loops in shared programs: 486 -> 483 (-0.62%) total uniforms in shared programs: 2385436 -> 2388195 (0.12%) Acked-by: Ian Romanick <[email protected]> (nir)
Diffstat (limited to 'src/compiler/nir/nir_intrinsics.py')
-rw-r--r--src/compiler/nir/nir_intrinsics.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py
index 9e765951301..1d388c64fc9 100644
--- a/src/compiler/nir/nir_intrinsics.py
+++ b/src/compiler/nir/nir_intrinsics.py
@@ -534,6 +534,15 @@ system_value("subgroup_id", 1)
system_value("local_group_size", 3)
system_value("global_invocation_id", 3)
system_value("work_dim", 1)
+# Driver-specific viewport scale/offset parameters.
+#
+# VC4 and V3D need to emit a scaled version of the position in the vertex
+# shaders for binning, and having system values lets us move the math for that
+# into NIR.
+system_value("viewport_x_scale", 1)
+system_value("viewport_y_scale", 1)
+system_value("viewport_z_scale", 1)
+system_value("viewport_z_offset", 1)
# Blend constant color values. Float values are clamped.#
system_value("blend_const_color_r_float", 1)