On 04/21/2011 01:11 PM, Marek Olšák wrote: > --- > src/gallium/auxiliary/util/u_surface.c | 22 +++++++++++++--------- > 1 files changed, 13 insertions(+), 9 deletions(-) > > diff --git a/src/gallium/auxiliary/util/u_surface.c > b/src/gallium/auxiliary/util/u_surface.c > index 9caf76c..43a0266 100644 > --- a/src/gallium/auxiliary/util/u_surface.c > +++ b/src/gallium/auxiliary/util/u_surface.c > @@ -188,15 +188,19 @@ util_resource_copy_region(struct pipe_context *pipe, > assert(dst_map); > > if (src_map && dst_map) { > - util_copy_rect(dst_map, > - dst_format, > - dst_trans->stride, > - 0, 0, > - w, h, > - src_map, > - src_trans->stride, > - 0, > - 0); > + if (dst->target == PIPE_BUFFER && src->target == PIPE_BUFFER) { > + memcpy(dst_map, src_map, w);
this will not work if dst_map and src_map overlap... if you're sure that they never overlap: ok, else maybe use memmove? grtz -- Ferry Huberts _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev