Module: Mesa
Branch: master
Commit: a59926b3ca7bd942566ec62dedef10b7f55b95a6
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a59926b3ca7bd942566ec62dedef10b7f55b95a6

Author: Timothy Arceri <[email protected]>
Date:   Fri Jun 28 10:35:11 2019 +1000

nir/lower_clip: add create_clipdist_vars() helper

Reviewed-by: Kenneth Graunke <[email protected]>

---

 src/compiler/nir/nir_lower_clip.c | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/src/compiler/nir/nir_lower_clip.c 
b/src/compiler/nir/nir_lower_clip.c
index 1536f0a3451..ce7e0680eae 100644
--- a/src/compiler/nir/nir_lower_clip.c
+++ b/src/compiler/nir/nir_lower_clip.c
@@ -65,6 +65,20 @@ create_clipdist_var(nir_shader *shader, unsigned drvloc,
 }
 
 static void
+create_clipdist_vars(nir_shader *shader, nir_variable **io_vars,
+                     unsigned ucp_enables, int *drvloc, bool output)
+{
+   if (ucp_enables & 0x0f)
+      io_vars[0] =
+         create_clipdist_var(shader, ++(*drvloc), output,
+                             VARYING_SLOT_CLIP_DIST0);
+   if (ucp_enables & 0xf0)
+      io_vars[1] =
+         create_clipdist_var(shader, ++(*drvloc), output,
+                             VARYING_SLOT_CLIP_DIST1);
+}
+
+static void
 store_clipdist_output(nir_builder *b, nir_variable *out, nir_ssa_def **val)
 {
    nir_intrinsic_instr *store;
@@ -235,13 +249,8 @@ nir_lower_clip_vs(nir_shader *shader, unsigned 
ucp_enables, bool use_vars)
       }
    }
 
-   /* insert CLIPDIST outputs: */
-   if (ucp_enables & 0x0f)
-      out[0] =
-         create_clipdist_var(shader, ++maxloc, true, VARYING_SLOT_CLIP_DIST0);
-   if (ucp_enables & 0xf0)
-      out[1] =
-         create_clipdist_var(shader, ++maxloc, true, VARYING_SLOT_CLIP_DIST1);
+   /* insert CLIPDIST outputs */
+   create_clipdist_vars(shader, out, ucp_enables, &maxloc, true);
 
    for (int plane = 0; plane < MAX_CLIP_PLANES; plane++) {
       if (ucp_enables & (1 << plane)) {
@@ -334,15 +343,8 @@ nir_lower_clip_fs(nir_shader *shader, unsigned ucp_enables)
    /* The shader won't normally have CLIPDIST inputs, so we
     * must add our own:
     */
-   /* insert CLIPDIST outputs: */
-   if (ucp_enables & 0x0f)
-      in[0] =
-         create_clipdist_var(shader, ++maxloc, false,
-                             VARYING_SLOT_CLIP_DIST0);
-   if (ucp_enables & 0xf0)
-      in[1] =
-         create_clipdist_var(shader, ++maxloc, false,
-                             VARYING_SLOT_CLIP_DIST1);
+   /* insert CLIPDIST inputs */
+   create_clipdist_vars(shader, in, ucp_enables, &maxloc, false);
 
    nir_foreach_function(function, shader) {
       if (!strcmp(function->name, "main"))

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to