[Mesa-dev] [PATCH] glsl: reject explicit location on atomic counter uniforms
Timothy Arceri
t_arceri at yahoo.com.au
Fri Feb 12 22:53:15 UTC 2016
On Thu, 2016-02-11 at 20:10 -0500, Ilia Mirkin wrote:
> This fixes
>
> dEQP-GLES31.functional.uniform_location.negative.atomic_fragment
> dEQP-GLES31.functional.uniform_location.negative.atomic_vertex
>
> Both of which have lines like
>
> layout(location = 3, binding = 0, offset = 0) uniform atomic_uint
> uni0;
>
> The ARB_explicit_uniform_location spec makes a very tangential
> mention
> regarding atomic counters, but location isn't something that makes
> sense
> with them.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>
> Had no clue where to stick this check... this seemed like as good a
> place as any.
>
> src/compiler/glsl/ast_to_hir.cpp | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/src/compiler/glsl/ast_to_hir.cpp
> b/src/compiler/glsl/ast_to_hir.cpp
> index dbeb5c0..9fce06b 100644
> --- a/src/compiler/glsl/ast_to_hir.cpp
> +++ b/src/compiler/glsl/ast_to_hir.cpp
> @@ -4179,6 +4179,11 @@ ast_declarator_list::hir(exec_list
> *instructions,
> state->atomic_counter_offsets[qual_binding] =
> qual_offset;
> }
> }
Maybe we should just make this:
else {
_mesa_glsl_error(&loc, state, "invalid atomic counter layout
qualifier");
}
??
> +
> + if (type->qualifier.flags.q.explicit_location) {
> + _mesa_glsl_error(&loc, state,
> + "atomic counters cannot have an explicit
> location");
> + }
> }
>
> if (this->declarations.is_empty()) {
More information about the mesa-dev
mailing list