Mesa (master): nir: fix support for scalar arrays in nir_lower_io_types()

Timothy Arceri tarceri at kemper.freedesktop.org
Sun Dec 3 22:14:57 UTC 2017


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

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Fri Nov 17 14:27:27 2017 +1100

nir: fix support for scalar arrays in nir_lower_io_types()

This was just recreating the same vector type we alreay had and
hitting an assert for scalars.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/compiler/nir/nir_lower_io_types.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/compiler/nir/nir_lower_io_types.c b/src/compiler/nir/nir_lower_io_types.c
index d31082e543..795bbd80d5 100644
--- a/src/compiler/nir/nir_lower_io_types.c
+++ b/src/compiler/nir/nir_lower_io_types.c
@@ -54,15 +54,11 @@ get_new_var(struct lower_io_types_state *state, nir_variable *var,
    }
 
    /* doesn't already exist, so we need to create a new one: */
-   /* TODO figure out if scalar vs vec, and if float/int/uint/(double?)
-    * do we need to fixup interpolation mode for int vs float components
-    * of a struct, etc..
+   /* TODO figure out if we need to fixup interpolation mode for int vs float
+    * components of a struct, etc..
     */
-   const struct glsl_type *ntype =
-      glsl_vector_type(glsl_get_base_type(deref_type),
-                       glsl_get_vector_elements(deref_type));
    nir_variable *nvar = nir_variable_create(state->shader, var->data.mode,
-                                            ntype, NULL);
+                                            deref_type, NULL);
 
    nvar->name = ralloc_asprintf(nvar, "%s@%u", var->name, off);
    nvar->data = var->data;




More information about the mesa-commit mailing list