From 5d39f4f9fdba4cd3333a39af583a73b85eb6bb74 Mon Sep 17 00:00:00 2001 From: Brian Date: Thu, 18 Oct 2007 15:14:50 -0600 Subject: fix bug in copy_rect(), use temp vars in sp_region_copy() to aid debugging --- src/mesa/pipe/softpipe/sp_region.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/mesa/pipe/softpipe') diff --git a/src/mesa/pipe/softpipe/sp_region.c b/src/mesa/pipe/softpipe/sp_region.c index 982e081f60..0f4d2f0575 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); -- cgit v1.2.3