diff options
Diffstat (limited to 'src/compiler/glsl')
-rw-r--r-- | src/compiler/glsl/linker.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 4cec1077025..76b700d3451 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; |