diff options
author | Roland Scheidegger <[email protected]> | 2015-05-06 15:56:17 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2015-05-06 16:51:09 +0200 |
commit | b8a1495106a8b70e9026b7798a5df2fb9737c55e (patch) | |
tree | f0ef50c2f617066577f87dd8c3619372301f021d /src/gallium | |
parent | 9891fc329b2d43c8433bec6d715b6b1684ea31c5 (diff) |
draw: (trivial) fix out-of-bounds vector initialization
Was off-by-one. llvm says inserting an element with an index higher than the
number of elements yields undefined results. Previously such inserts were
ignored but as of llvm revision 235854 the vector gets replaced with undef,
causing failures.
This fixes piglit gl-3.2-layered-rendering-gl-layer, as mentioned in
https://llvm.org/bugs/show_bug.cgi?id=23424.
Reviewed-by: Brian Paul <[email protected]>
Cc: [email protected]
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_llvm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c index 71506114dc3..b9e55af42c7 100644 --- a/src/gallium/auxiliary/draw/draw_llvm.c +++ b/src/gallium/auxiliary/draw/draw_llvm.c @@ -2048,7 +2048,7 @@ generate_mask_value(struct draw_gs_llvm_variant *variant, num_prims = lp_build_broadcast(gallivm, lp_build_vec_type(gallivm, mask_type), variant->num_prims); - for (i = 0; i <= gs_type.length; i++) { + for (i = 0; i < gs_type.length; i++) { LLVMValueRef idx = lp_build_const_int32(gallivm, i); mask_val = LLVMBuildInsertElement(builder, mask_val, idx, idx, ""); } |