On 12.02.2016 17:53, Timothy Arceri wrote:
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 <imir...@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");
}
??
FWIW, I like Ilia's original message better because it gives the user
more information about why exactly their layout qualifier is invalid.
Helpful error messages are a good thing.
That said, I won't complain too loudly if making the code simpler or
easier to follow ends up making the error messages slightly less helpful.
Cheers,
Nicolai
+
+ if (type->qualifier.flags.q.explicit_location) {
+ _mesa_glsl_error(&loc, state,
+ "atomic counters cannot have an explicit
location");
+ }
}
if (this->declarations.is_empty()) {
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev