From: Timothy Arceri Date: Mon, 13 Jan 2020 00:36:10 +0000 (+1100) Subject: glsl: fix check for matrices in blocks when using nir uniform linker X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e5b3cf433e8b0e31e257a8e1216b6f8c08f7e780;p=mesa.git glsl: fix check for matrices in blocks when using nir uniform linker We need to stripe any arrays before checking the type. Here we just use the uniform type which has already be stripped. Reviewed-by: Alejandro PiƱeiro Part-of: --- diff --git a/src/compiler/glsl/gl_nir_link_uniforms.c b/src/compiler/glsl/gl_nir_link_uniforms.c index efb26caf7ff..97bd57fc2b8 100644 --- a/src/compiler/glsl/gl_nir_link_uniforms.c +++ b/src/compiler/glsl/gl_nir_link_uniforms.c @@ -554,10 +554,9 @@ nir_link_uniform(struct gl_context *ctx, uniform->array_stride = glsl_type_is_array(type) ? glsl_get_explicit_stride(type) : 0; - if (glsl_type_is_matrix(type)) { - uniform->matrix_stride = glsl_get_explicit_stride(type); - - uniform->row_major = glsl_matrix_type_is_row_major(type); + if (glsl_type_is_matrix(uniform->type)) { + uniform->matrix_stride = glsl_get_explicit_stride(uniform->type); + uniform->row_major = glsl_matrix_type_is_row_major(uniform->type); } else { uniform->matrix_stride = 0; }