On Mon, 2015-09-28 at 13:13 +0300, Francisco Jerez wrote: > Iago Toral Quiroga <ito...@igalia.com> writes: > > > From: Kristian Høgsberg <k...@bitplanet.net> > > > > --- > > src/glsl/ast_to_hir.cpp | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp > > index 566cc87..a364aae 100644 > > --- a/src/glsl/ast_to_hir.cpp > > +++ b/src/glsl/ast_to_hir.cpp > > @@ -2789,7 +2789,7 @@ apply_type_qualifier_to_variable(const struct > > ast_type_qualifier *qual, > > } > > > > if (var->type->contains_atomic()) { > > - if (var->data.mode == ir_var_uniform) { > > + if (var->data.mode == ir_var_uniform || var->data.mode == > > ir_var_shader_storage) { > > if (var->data.explicit_binding) { > > unsigned *offset = > > &state->atomic_counter_offsets[var->data.binding]; > > @@ -2807,8 +2807,8 @@ apply_type_qualifier_to_variable(const struct > > ast_type_qualifier *qual, > > } > > } else if (var->data.mode != ir_var_function_in) { > > _mesa_glsl_error(loc, state, "atomic counters may only be > > declared as " > > - "function parameters or uniform-qualified " > > - "global variables"); > > + "function parameters, uniform-qualified or " > > + "buffer-qualified global variables"); > > } > > } > > > > Spec quote? Declaring an atomic counter to have buffer storage is > illegal AFAIK.
I think you are right, the specs don't seem to include any explicit restrictions affecting the allowed types for buffer variables, however, the description of opaque types seems to be in conflict with that: "The opaque types declare variables that are effectively opaque handles to other objects. These objects are accessed through built-in functions, not through direct reading or writing of the declared variable. (...) Opaque variables cannot be treated as l-values;(...)" I am thinking that we probably want to revert this patch and instead check that buffer variables do not contain references to any opaque types and produce a compile-time error if that is the case. I'll send patches for this. Maybe the specs should be amended to mention this explicitly too. Ian, what do you think? Iago _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev