[Mesa-dev] [PATCH] glsl: set matrix_stride for non matrices with atomic counter buffers
Lofstedt, Marta
marta.lofstedt at intel.com
Thu Nov 12 02:42:12 PST 2015
Reviewed-by: Marta Lofstedt <marta.lofstedt at intel.com>
> -----Original Message-----
> From: mesa-dev [mailto:mesa-dev-bounces at lists.freedesktop.org] On
> Behalf Of Tapani Pälli
> Sent: Monday, November 2, 2015 12:36 PM
> To: mesa-dev at lists.freedesktop.org
> Subject: [Mesa-dev] [PATCH] glsl: set matrix_stride for non matrices with
> atomic counter buffers
>
> Patch sets matrix_stride as 0 for non matrix uniforms that are in a atomic
> counter buffer. Matrix stride calculation for actual matrix uniforms is done
> during link_assign_uniform_locations.
>
> From ARB_program_interface_query specification:
>
> GL_MATRIX_STRIDE:
>
> "For active variables not declared as a matrix or array of matrices,
> zero is written to <params>. For active variables not backed by a
> buffer object, -1 is written to <params>, regardless of the variable
> type."
>
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
> src/glsl/link_atomics.cpp | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/src/glsl/link_atomics.cpp b/src/glsl/link_atomics.cpp index
> cdcc06d..3aa52db 100644
> --- a/src/glsl/link_atomics.cpp
> +++ b/src/glsl/link_atomics.cpp
> @@ -240,6 +240,8 @@ link_assign_atomic_counter_resources(struct
> gl_context *ctx,
> storage->offset = var->data.atomic.offset;
> storage->array_stride = (var->type->is_array() ?
> var->type->without_array()->atomic_size() : 0);
> + if (!var->type->is_matrix())
> + storage->matrix_stride = 0;
> }
>
> /* Assign stage-specific fields. */
> --
> 2.4.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list