From a09d002bb5b9610681e10e3e3b09e5da5b971eaa Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 25 Oct 2005 21:10:28 +0000 Subject: Move the front.offset setting above a check to shortcut reallocating buffers if width and height stayed the same. Rely on front.offset pointing at the origin in the window (rather than the origin of the front buffer), and fix the coords in swapbuffers, which were wrong. This is different from other drivers because we've got a back buffer with a 0,0 origin at the window's origin, which makes it more convenient to have the front buffer match it. --- src/mesa/drivers/dri/sis/sis_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/mesa/drivers/dri/sis/sis_screen.c') diff --git a/src/mesa/drivers/dri/sis/sis_screen.c b/src/mesa/drivers/dri/sis/sis_screen.c index d1ceb68d0c..d4395a9cdd 100644 --- a/src/mesa/drivers/dri/sis/sis_screen.c +++ b/src/mesa/drivers/dri/sis/sis_screen.c @@ -253,7 +253,7 @@ static void sisCopyBuffer( __DRIdrawablePrivate *dPriv ) MMIO(REG_SRC_PITCH, smesa->back.pitch | ((smesa->bytesPerPixel == 4) ? BLIT_DEPTH_32 : BLIT_DEPTH_16)); MMIO(REG_SRC_X_Y, ((box->x1 - dPriv->x) << 16) | (box->y1 - dPriv->y)); - MMIO(REG_DST_X_Y, (box->x1 << 16) | box->y1); + MMIO(REG_DST_X_Y, ((box->x1 - dPriv->x) << 16) | (box->y1 - dPriv->y)); MMIO(REG_DST_ADDR, smesa->front.offset); MMIO(REG_DST_PITCH_HEIGHT, (smesa->virtualY << 16) | smesa->front.pitch); MMIO(REG_WIDTH_HEIGHT, ((box->y2 - box->y1) << 16) | (box->x2 - box->x1)); -- cgit v1.2.3