summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@vmware.com>2015-05-06 15:56:17 +0200
committerRoland Scheidegger <sroland@vmware.com>2015-05-06 16:51:09 +0200
commitb8a1495106a8b70e9026b7798a5df2fb9737c55e (patch)
treef0ef50c2f617066577f87dd8c3619372301f021d /src
parent9891fc329b2d43c8433bec6d715b6b1684ea31c5 (diff)
downloadexternal_mesa3d-b8a1495106a8b70e9026b7798a5df2fb9737c55e.zip
external_mesa3d-b8a1495106a8b70e9026b7798a5df2fb9737c55e.tar.gz
external_mesa3d-b8a1495106a8b70e9026b7798a5df2fb9737c55e.tar.bz2
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 <brianp@vmware.com> Cc: mesa-stable@lists.freedesktop.org
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/draw/draw_llvm.c2
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 7150611..b9e55af 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, "");
}