diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2008-02-13 11:39:58 +0000 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2008-02-13 11:39:58 +0000 |
commit | e922adbe1d6c1764968377658ea92ae6de0585db (patch) | |
tree | 7260e77f9696a8752d3800a0a616b8f461d4d871 /src/mesa/pipe/i915simple/i915_surface.c | |
parent | 4bb1a14d901fcddb25efeeff49c4dea8ca872f73 (diff) |
gallium: pipe->surface_copy can flip the contents vertically when necessary.
Fixes gears being upside down on the box in demos/gearbox.
Diffstat (limited to 'src/mesa/pipe/i915simple/i915_surface.c')
-rw-r--r-- | src/mesa/pipe/i915simple/i915_surface.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/pipe/i915simple/i915_surface.c b/src/mesa/pipe/i915simple/i915_surface.c index 1bdaba773f..6d4b8a0aa9 100644 --- a/src/mesa/pipe/i915simple/i915_surface.c +++ b/src/mesa/pipe/i915simple/i915_surface.c @@ -83,6 +83,7 @@ i915_get_tex_surface(struct pipe_context *pipe, */ static void i915_surface_copy(struct pipe_context *pipe, + unsigned do_flip, struct pipe_surface *dst, unsigned dstx, unsigned dsty, struct pipe_surface *src, @@ -98,14 +99,15 @@ i915_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); } else { i915_copy_blit( i915_context(pipe), + do_flip, dst->cpp, (short) src->pitch, src->buffer, src->offset, (short) dst->pitch, dst->buffer, dst->offset, |