From ce82523db93d31bc72c8683ccbded1cc721ad34f Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Sat, 1 Jun 2013 20:55:17 +0200 Subject: [PATCH] gallivm: (trivial) fix lp_build_concat_n The code was designed to handle no-op concat but failed (unless the caller was using same pointer for src and dst). Reviewed-by: Jose Fonseca --- src/gallium/auxiliary/gallivm/lp_bld_pack.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_pack.c b/src/gallium/auxiliary/gallivm/lp_bld_pack.c index 0a57e39611c..14fcd385798 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_pack.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_pack.c @@ -241,8 +241,12 @@ lp_build_concat_n(struct gallivm_state *gallivm, assert(num_srcs >= num_dsts); assert((num_srcs % size) == 0); - if (num_srcs == num_dsts) + if (num_srcs == num_dsts) { + for (i = 0; i < num_dsts; ++i) { + dst[i] = src[i]; + } return 1; + } for (i = 0; i < num_dsts; ++i) { dst[i] = lp_build_concat(gallivm, &src[i * size], src_type, size); -- 2.30.2