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@intel.com> Reviewed-by: Marta Lofstedt <marta.lofstedt@intel.com>
This commit is contained in:
parent
7e6dac1186
commit
f2fe607261
1 changed files with 2 additions and 0 deletions
|
|
@ -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. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue