On Tue, 2016-01-19 at 01:50 -0500, Ilia Mirkin wrote: > Interfaces can have image properties set in case they are buffer > interfaces. Make sure not to lose this information.
Looks good to me, Reviewed-by: Iago Toral Quiroga <ito...@igalia.com> > Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> > --- > src/glsl/builtin_variables.cpp | 5 +++++ > src/glsl/nir/glsl_types.cpp | 5 +++++ > src/glsl/nir/glsl_types.h | 3 ++- > 3 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp > index 221aab0..cc7fca2 100644 > --- a/src/glsl/builtin_variables.cpp > +++ b/src/glsl/builtin_variables.cpp > @@ -328,6 +328,11 @@ per_vertex_accumulator::add_field(int slot, const > glsl_type *type, > this->fields[this->num_fields].sample = 0; > this->fields[this->num_fields].patch = 0; > this->fields[this->num_fields].precision = GLSL_PRECISION_NONE; > + this->fields[this->num_fields].image_read_only = 0; > + this->fields[this->num_fields].image_write_only = 0; > + this->fields[this->num_fields].image_coherent = 0; > + this->fields[this->num_fields].image_volatile = 0; > + this->fields[this->num_fields].image_restrict = 0; > this->num_fields++; > } > > diff --git a/src/glsl/nir/glsl_types.cpp b/src/glsl/nir/glsl_types.cpp > index 44d3056..c98597b 100644 > --- a/src/glsl/nir/glsl_types.cpp > +++ b/src/glsl/nir/glsl_types.cpp > @@ -163,6 +163,11 @@ glsl_type::glsl_type(const glsl_struct_field *fields, > unsigned num_fields, > this->fields.structure[i].sample = fields[i].sample; > this->fields.structure[i].matrix_layout = fields[i].matrix_layout; > this->fields.structure[i].patch = fields[i].patch; > + this->fields.structure[i].image_read_only = fields[i].image_read_only; > + this->fields.structure[i].image_write_only = > fields[i].image_write_only; > + this->fields.structure[i].image_coherent = fields[i].image_coherent; > + this->fields.structure[i].image_volatile = fields[i].image_volatile; > + this->fields.structure[i].image_restrict = fields[i].image_restrict; > this->fields.structure[i].precision = fields[i].precision; > } > > diff --git a/src/glsl/nir/glsl_types.h b/src/glsl/nir/glsl_types.h > index 0b83727..8723fd0 100644 > --- a/src/glsl/nir/glsl_types.h > +++ b/src/glsl/nir/glsl_types.h > @@ -863,7 +863,8 @@ struct glsl_struct_field { > glsl_struct_field(const struct glsl_type *_type, const char *_name) > : type(_type), name(_name), location(-1), interpolation(0), > centroid(0), > sample(0), matrix_layout(GLSL_MATRIX_LAYOUT_INHERITED), patch(0), > - precision(GLSL_PRECISION_NONE) > + precision(GLSL_PRECISION_NONE), image_read_only(0), > image_write_only(0), > + image_coherent(0), image_volatile(0), image_restrict(0) > { > /* empty */ > } _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev