summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2011-02-15 18:17:53 -0800
committerIan Romanick <[email protected]>2011-02-15 18:22:33 -0800
commit25b36e8ff81a9c951085d6dd802a7534db476f5a (patch)
treee3f29647e029790be88f3cc32f2082b121b31ae4
parentae11707b830b206f4305310df3d873b72ed777a7 (diff)
linker: Fix off-by-one error implicit array sizing
Arrays are zero based. If the highest element accessed is 6, the array needs to have 7 elements. Fixes piglit test glsl-fs-implicit-array-size-03 and bugzilla #34198. NOTE: This is a candidate for the 7.9 and 7.10 branches.
-rw-r--r--src/glsl/linker.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 46cd1950c86..6c003bb0256 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -926,7 +926,7 @@ link_intrastage_shaders(void *mem_ctx,
if (var->type->is_array() && (var->type->length == 0)) {
const glsl_type *type =
glsl_type::get_array_instance(var->type->fields.array,
- var->max_array_access);
+ var->max_array_access + 1);
assert(type != NULL);
var->type = type;