[Mesa-dev] [PATCH V2] glsl: fix atomic buffer index for bindings other than 0
Erik Faye-Lund
kusmabite at gmail.com
Sat Jul 25 18:04:36 PDT 2015
On Sat, Jul 25, 2015 at 4:24 PM, Timothy Arceri <t_arceri at yahoo.com.au> wrote:
> Since commit c0cd5b var->data.binding was being used as a replacement
> for atomic buffer index, but they don't have to be the same value they
> just happen to end up the same when binding is 0.
>
> Now we store atomic buffer index in the unused var->data.index
> to avoid the extra memory of putting back the atmoic buffer index field.
>
> V2: store buffer index in var->data.index and uniform slot in
> var->data.location to avoid issues when linking more than 2 shaders.
> Also some small tidy ups.
>
> Cc: Alejandro PiƱeiro <apinheiro at igalia.com>
> Cc: Ian Romanick <idr at freedesktop.org>
> Cc: 10.4, 10.5 <mesa-stable at lists.freedesktop.org>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90175
> ---
> src/glsl/ir.h | 3 +++
> src/glsl/link_atomics.cpp | 18 +++++++-----------
> src/glsl/link_uniforms.cpp | 4 ++++
> src/glsl/nir/glsl_to_nir.cpp | 2 --
> src/glsl/nir/nir.h | 6 ++++--
> src/glsl/nir/nir_lower_atomics.c | 2 +-
> src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 2 +-
> 7 files changed, 20 insertions(+), 17 deletions(-)
>
> diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
> index 62cdbd4..d97db68 100644
> --- a/src/glsl/nir/nir.h
> +++ b/src/glsl/nir/nir.h
> @@ -307,7 +310,6 @@ typedef struct {
> * Location an atomic counter is stored at.
> */
> struct {
> - unsigned buffer_index;
> unsigned offset;
> } atomic;
This smells a bit like the struct should be nuked all together...
More information about the mesa-dev
mailing list