diff options
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_surface.c')
-rw-r--r-- | src/mesa/pipe/softpipe/sp_surface.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mesa/pipe/softpipe/sp_surface.c b/src/mesa/pipe/softpipe/sp_surface.c index 5978ee48bd4..5c6ed3b8d94 100644 --- a/src/mesa/pipe/softpipe/sp_surface.c +++ b/src/mesa/pipe/softpipe/sp_surface.c @@ -40,6 +40,7 @@ */ static void sp_surface_copy(struct pipe_context *pipe, + unsigned do_flip, struct pipe_surface *dst, unsigned dstx, unsigned dsty, struct pipe_surface *src, @@ -53,8 +54,8 @@ sp_surface_copy(struct pipe_context *pipe, dstx, dsty, width, height, pipe_surface_map(src), - src->pitch, - srcx, srcy); + do_flip ? -src->pitch : src->pitch, + srcx, do_flip ? 1 - srcy - height : srcy); pipe_surface_unmap(src); pipe_surface_unmap(dst); |