Module: Mesa Branch: master Commit: f2fe6072617fd77f1abe213ff8fd2c233908b63d URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2fe6072617fd77f1abe213ff8fd2c233908b63d
Author: Tapani Pälli <[email protected]> Date: Mon Nov 2 13:36:19 2015 +0200 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 <[email protected]> Reviewed-by: Marta Lofstedt <[email protected]> --- 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. */ _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
