[Mesa-dev] [PATCH] glsl: reject explicit location on atomic counter uniforms
Ilia Mirkin
imirkin at alum.mit.edu
Fri Feb 12 01:10:36 UTC 2016
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;
}
}
+
+ if (type->qualifier.flags.q.explicit_location) {
+ _mesa_glsl_error(&loc, state,
+ "atomic counters cannot have an explicit location");
+ }
}
if (this->declarations.is_empty()) {
--
2.4.10
More information about the mesa-dev
mailing list