From: Brian Date: Thu, 18 Oct 2007 21:14:50 +0000 (-0600) Subject: fix bug in copy_rect(), use temp vars in sp_region_copy() to aid debugging X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5d39f4f9fdba4cd3333a39af583a73b85eb6bb74;p=mesa.git fix bug in copy_rect(), use temp vars in sp_region_copy() to aid debugging --- diff --git a/src/mesa/pipe/softpipe/sp_region.c b/src/mesa/pipe/softpipe/sp_region.c index 982e081f603..0f4d2f05758 100644 --- a/src/mesa/pipe/softpipe/sp_region.c +++ b/src/mesa/pipe/softpipe/sp_region.c @@ -147,7 +147,7 @@ copy_rect(ubyte * dst, dst += dst_x * cpp; src += src_x * cpp; dst += dst_y * dst_pitch; - src += src_y * dst_pitch; + src += src_y * src_pitch; width *= cpp; if (width == dst_pitch && width == src_pitch) @@ -197,15 +197,18 @@ sp_region_copy(struct pipe_context *pipe, unsigned src_offset, unsigned srcx, unsigned srcy, unsigned width, unsigned height) { + ubyte *src_map, *dst_map; assert( dst->cpp == src->cpp ); - copy_rect(pipe->region_map(pipe, dst) + dst_offset, + dst_map = pipe->region_map(pipe, dst); + src_map = pipe->region_map(pipe, src); + copy_rect(dst_map + dst_offset, dst->cpp, dst->pitch, - dstx, dsty, - width, height, - pipe->region_map(pipe, src) + src_offset, - src->pitch, + dstx, dsty, + width, height, + src_map + src_offset, + src->pitch, srcx, srcy); pipe->region_unmap(pipe, src);