----- 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

Reply via email to