----- Original Message ----- > From: Roland Scheidegger <srol...@vmware.com> > > The code was designed to handle no-op concat but failed (unless the > caller was using same pointer for src and dst). > --- > 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 0a57e39..14fcd38 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);
Looks good. Was this path ever being hit? If so this is a candidate for stable branches. Jose _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev