gallium: Y-invert blit depending on framebuffer orientation

This commit is contained in:
Brian 2008-03-20 14:20:25 -06:00
parent c2044eaca9
commit 3aa8c660ff
1 changed files with 7 additions and 4 deletions

View File

@ -85,11 +85,14 @@ st_BlitFramebuffer(GLcontext *ctx,
struct pipe_surface *srcSurf = srcRb->surface;
struct pipe_surface *dstSurf = dstRb->surface;
srcY0 = srcRb->Base.Height - srcY0;
srcY1 = srcRb->Base.Height - srcY1;
if (st_fb_orientation(ctx->DrawBuffer) == Y_0_TOP) {
/* invert Y */
srcY0 = srcRb->Base.Height - srcY0;
srcY1 = srcRb->Base.Height - srcY1;
dstY0 = dstRb->Base.Height - dstY0;
dstY1 = dstRb->Base.Height - dstY1;
dstY0 = dstRb->Base.Height - dstY0;
dstY1 = dstRb->Base.Height - dstY1;
}
util_blit_pixels(st->blit,
srcSurf, srcX0, srcY0, srcX1, srcY1,