On Wed, 2016-03-09 at 11:48 +0100, Iago Toral Quiroga wrote: > Before we would always report 16 for both and we would only fail if > either > one exceeded 16. Now we fail if the maximum for each is exceeded, > even if > it is smaller than 16 and we report the correct maximum. > > Also, expand the size of to_assign[] to 32. There is code at the top > of the function handling max_index up to 32, so this just makes the > code more consistent.
Looks good. Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> > --- > src/compiler/glsl/linker.cpp | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/src/compiler/glsl/linker.cpp > b/src/compiler/glsl/linker.cpp > index 4cec107..76b700d 100644 > --- a/src/compiler/glsl/linker.cpp > +++ b/src/compiler/glsl/linker.cpp > @@ -2417,7 +2417,8 @@ > assign_attribute_or_color_locations(gl_shader_program *prog, > /* Reversed because we want a descending order sort below. > */ > return r->slots - l->slots; > } > - } to_assign[16]; > + } to_assign[32]; > + assert(max_index <= 32); > > unsigned num_attr = 0; > > @@ -2625,11 +2626,11 @@ > assign_attribute_or_color_locations(gl_shader_program *prog, > continue; > } > > - if (num_attr >= ARRAY_SIZE(to_assign)) { > + if (num_attr >= max_index) { > linker_error(prog, "too many %s (max %u)", > target_index == MESA_SHADER_VERTEX ? > "vertex shader inputs" : "fragment shader > outputs", > - (unsigned)ARRAY_SIZE(to_assign)); > + max_index); > return false; > } > to_assign[num_attr].slots = slots; _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev