On 17 September 2015 at 17:02, Timothy Arceri <t_arc...@yahoo.com.au> wrote: > Signed-off-by: Timothy Arceri <t_arc...@yahoo.com.au> > Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu> > Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > --- > src/glsl/link_varyings.cpp | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp > index f7a7b8c..0d343d6 100644 > --- a/src/glsl/link_varyings.cpp > +++ b/src/glsl/link_varyings.cpp > @@ -956,9 +956,16 @@ varying_matches::record(ir_variable *producer_var, > ir_variable *consumer_var) > type = type->fields.array; > } > > - slots = (type->is_array() > - ? (type->length * type->fields.array->matrix_columns) > - : type->matrix_columns); > + if (type->is_array()) { > + slots = 1; > + while (type->is_array()) { > + slots *= type->length; > + type = type->fields.array; > + } > + slots *= type->matrix_columns; > + } else { > + slots = var->type->matrix_columns;
^ this needs to be type->matrix_columns else it breaks the tess cases. Dave. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev