Mesa (10.1): glsl: Allow explicit binding on atomics again

Carl Worth cworth at kemper.freedesktop.org
Fri Apr 18 23:11:14 UTC 2014


Module: Mesa
Branch: 10.1
Commit: c862a14676aa6a5d6d3821592a4d7ed8dc146e0d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c862a14676aa6a5d6d3821592a4d7ed8dc146e0d

Author: Carl Worth <cworth at cworth.org>
Date:   Fri Apr 18 15:14:37 2014 -0700

glsl: Allow explicit binding on atomics again

As of 943b2d52bf5, layout(binding) on an atomic would fail the assertion
here.

Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
(cherry picked from commit 92840aabf7a96583619a01a8257ef6f117f0ca50)

Conflicts:
	src/glsl/link_uniform_initializers.cpp

---

 src/glsl/link_uniform_initializers.cpp |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/glsl/link_uniform_initializers.cpp b/src/glsl/link_uniform_initializers.cpp
index cd2307b..44f7eaf 100644
--- a/src/glsl/link_uniform_initializers.cpp
+++ b/src/glsl/link_uniform_initializers.cpp
@@ -257,8 +257,10 @@ link_set_uniform_initializers(struct gl_shader_program *prog)
             } else if (var->is_in_uniform_block()) {
                linker::set_block_binding(mem_ctx, prog, var->name,
                                          type, var->data.binding);
+            } else if (type->contains_atomic()) {
+               /* we don't actually need to do anything. */
             } else {
-               assert(!"Explicit binding not on a sampler or UBO.");
+               assert(!"Explicit binding not on a sampler, UBO or atomic.");
             }
          } else if (var->constant_value) {
             linker::set_uniform_initializer(mem_ctx, prog, var->name,




More information about the mesa-commit mailing list