On Tue, 2015-04-28 at 10:07 +0200, Alejandro Piñeiro wrote:
> There was a typo on commit c0cd5b, doing it when explicit_binding
> was false. This prevented to use any binding point different to 0.
> 
> Cc: 10.4, 10.5 <mesa-sta...@lists.freedesktop.org>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90175
> ---
> 
> Piglit test to catch this error proposed here:
> http://lists.freedesktop.org/archives/piglit/2015-April/015877.html
> 
> 
>  src/glsl/link_atomics.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/glsl/link_atomics.cpp b/src/glsl/link_atomics.cpp
> index 603873a..9528e42 100644
> --- a/src/glsl/link_atomics.cpp
> +++ b/src/glsl/link_atomics.cpp
> @@ -201,7 +201,7 @@ link_assign_atomic_counter_resources(struct gl_context 
> *ctx,
>           gl_uniform_storage *const storage = &prog->UniformStorage[id];
>  
>           mab.Uniforms[j] = id;
> -         if (!var->data.explicit_binding)
> +         if (var->data.explicit_binding)
>              var->data.binding = i;
>  
>           storage->atomic_buffer_index = i;

I'm no expert on atomic counters (so someone correct me if I'm wrong)
but I've taken a look into this and I think the correct solution may be
to remove the if statement completely. This would match the original
implementation.

The reason for this is that currently Mesa requires all atomic counters
to have an explicit binding point (so currently this is always true),
although the spec doesn't say that this is a requirement. Bindings can
be implied, it's likely that once Mesa does support these implied
bindings the new if statement is probably not going to make sense for
that case either.



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to