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 <jfonseca@vmware.com>
This commit is contained in:
Roland Scheidegger 2013-06-01 20:55:17 +02:00
parent f270baf074
commit ce82523db9

View file

@ -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);