On Tue, 2014-07-29 at 16:15 -0700, Ian Romanick wrote: > From: Ian Romanick <ian.d.roman...@intel.com> > > Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> > Reviewed-by: Matt Turner <matts...@gmail.com> [v1] > Cc: Timothy Arceri <t_arc...@yahoo.com.au> > --- > src/glsl/ast_to_hir.cpp | 3 +-- > src/glsl/glsl_types.cpp | 3 +-- > src/glsl/link_uniforms.cpp | 23 ++++++++--------------- > src/glsl/link_varyings.cpp | 6 ++---- > 4 files changed, 12 insertions(+), 23 deletions(-) > > diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp > index a15ee9c..844e11c 100644 > --- a/src/glsl/ast_to_hir.cpp > +++ b/src/glsl/ast_to_hir.cpp > @@ -5203,8 +5203,7 @@ ast_process_structure_or_interface_block(exec_list > *instructions, > "in uniform blocks or structures."); > } > > - if (field_type->is_matrix() || > - (field_type->is_array() && > field_type->fields.array->is_matrix())) { > + if (field_type->without_array()->is_matrix()) { > fields[i].row_major = block_row_major; > if (qual->flags.q.row_major) > fields[i].row_major = true; > diff --git a/src/glsl/glsl_types.cpp b/src/glsl/glsl_types.cpp > index f9cd258..737e6dd 100644 > --- a/src/glsl/glsl_types.cpp > +++ b/src/glsl/glsl_types.cpp > @@ -872,8 +872,7 @@ glsl_type::std140_size(bool row_major) const > * and <R> rows, the matrix is stored identically to a row of <S>*<R> > * row vectors with <C> components each, according to rule (4). > */ > - if (this->is_matrix() || (this->is_array() && > - this->fields.array->is_matrix())) { > + if (this->without_array()->is_matrix()) { > const struct glsl_type *element_type; > const struct glsl_type *vec_type; > unsigned int array_len; > diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp > index 6c73197..7489536 100644 > --- a/src/glsl/link_uniforms.cpp > +++ b/src/glsl/link_uniforms.cpp > @@ -59,10 +59,8 @@ values_for_type(const glsl_type *type) > void > program_resource_visitor::process(const glsl_type *type, const char *name) > { > - assert(type->is_record() > - || (type->is_array() && type->fields.array->is_record()) > - || type->is_interface() > - || (type->is_array() && type->fields.array->is_interface())); > + assert(type->without_array()->is_record() > + || type->without_array()->is_interface()); > > char *name_copy = ralloc_strdup(NULL, name); > recursion(type, &name_copy, strlen(name), false, NULL); > @@ -136,7 +134,7 @@ program_resource_visitor::process(ir_variable *var) > */ > recursion(var->type, &name, strlen(name), false, NULL); > ralloc_free(name); > - } else if (t->is_record() || (t->is_array() && > t->fields.array->is_record())) { > + } else if (t->without_array()->is_record()) { > char *name = ralloc_strdup(NULL, var->name); > recursion(var->type, &name, strlen(name), false, NULL); > ralloc_free(name); > @@ -299,10 +297,8 @@ private: > virtual void visit_field(const glsl_type *type, const char *name, > bool row_major) > { > - assert(!type->is_record()); > - assert(!(type->is_array() && type->fields.array->is_record())); > - assert(!type->is_interface()); > - assert(!(type->is_array() && type->fields.array->is_interface())); > + assert(!type->without_array()->is_record()); > + assert(!type->without_array()->is_interface()); > > (void) row_major; > > @@ -514,10 +510,8 @@ private: > virtual void visit_field(const glsl_type *type, const char *name, > bool row_major, const glsl_type *record_type) > { > - assert(!type->is_record()); > - assert(!(type->is_array() && type->fields.array->is_record())); > - assert(!type->is_interface()); > - assert(!(type->is_array() && type->fields.array->is_interface())); > + assert(!type->without_array()->is_record()); > + assert(!type->without_array()->is_interface()); > > (void) row_major; > > @@ -590,8 +584,7 @@ private: > this->uniforms[id].array_stride = 0; > } > > - if (type->is_matrix() || > - (type->is_array() && type->fields.array->is_matrix())) { > + if (type->without_array()->is_matrix()) { > this->uniforms[id].matrix_stride = 16; > this->uniforms[id].row_major = ubo_row_major; > } else { > diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp > index a3fc2ae..1438a4b 100644 > --- a/src/glsl/link_varyings.cpp > +++ b/src/glsl/link_varyings.cpp > @@ -1068,10 +1068,8 @@ private: > virtual void visit_field(const glsl_type *type, const char *name, > bool row_major) > { > - assert(!type->is_record()); > - assert(!(type->is_array() && type->fields.array->is_record())); > - assert(!type->is_interface()); > - assert(!(type->is_array() && type->fields.array->is_interface())); > + assert(!type->without_array()->is_record()); > + assert(!type->without_array()->is_interface()); > > (void) row_major; >
Reviewed-by: Timothy Arceri <t_arc...@yahoo.com.au> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev