diff options
author | Felix Kuehling <fxkuehl@gmx.de> | 2004-03-26 23:27:24 +0000 |
---|---|---|
committer | Felix Kuehling <fxkuehl@gmx.de> | 2004-03-26 23:27:24 +0000 |
commit | 58fa2a8c5049b209b6bcaffe2530daea0314ef27 (patch) | |
tree | 95e5d3d15f10b2a07ace2e4a90525ccd9fbdfda1 /src/mesa | |
parent | 1e50e4046f6a85319ef33033d4b529345fd08ddd (diff) |
Enable drawing directly to the (now tiled) front buffer.
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/savage/savageioctl.c | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/savage/savagestate.c | 25 |
2 files changed, 8 insertions, 21 deletions
diff --git a/src/mesa/drivers/dri/savage/savageioctl.c b/src/mesa/drivers/dri/savage/savageioctl.c index 1384ce6099..c5d234b37a 100644 --- a/src/mesa/drivers/dri/savage/savageioctl.c +++ b/src/mesa/drivers/dri/savage/savageioctl.c @@ -71,7 +71,7 @@ static void savage_BCI_clear(GLcontext *ctx, drm_savage_clear_t *pclear) pbox->y2 > imesa->savageScreen->height) continue; - if ( (pclear->flags & SAVAGE_FRONT) && imesa->IsFullScreen) { + if ( pclear->flags & SAVAGE_FRONT ) { bciptr = savageDMAAlloc (imesa, 8); WRITE_CMD((bciptr) , 0x4BCC8C00,uint32_t); WRITE_CMD((bciptr) , imesa->savageScreen->frontOffset,uint32_t); @@ -81,7 +81,7 @@ static void savage_BCI_clear(GLcontext *ctx, drm_savage_clear_t *pclear) WRITE_CMD((bciptr) , (height << 16) | width,uint32_t); savageDMACommit (imesa, bciptr); } - else if ( pclear->flags & (SAVAGE_BACK|SAVAGE_FRONT) ) { + if ( pclear->flags & SAVAGE_BACK ) { bciptr = savageDMAAlloc (imesa, 8); WRITE_CMD((bciptr) , 0x4BCC8C00,uint32_t); WRITE_CMD((bciptr) , imesa->savageScreen->backOffset,uint32_t); diff --git a/src/mesa/drivers/dri/savage/savagestate.c b/src/mesa/drivers/dri/savage/savagestate.c index 5fdafa4288..599dbaa3ea 100644 --- a/src/mesa/drivers/dri/savage/savagestate.c +++ b/src/mesa/drivers/dri/savage/savagestate.c @@ -642,18 +642,11 @@ static void savageDDDrawBuffer(GLcontext *ctx, GLenum mode ) case DD_FRONT_LEFT_BIT: imesa->IsDouble = GL_FALSE; - if(imesa->IsFullScreen) - { - imesa->drawMap = (char *)imesa->apertureBase[TARGET_FRONT]; - imesa->readMap = (char *)imesa->apertureBase[TARGET_FRONT]; - } - else - { - imesa->drawMap = (char *)imesa->apertureBase[TARGET_BACK]; - imesa->readMap = (char *)imesa->apertureBase[TARGET_BACK]; - } + imesa->drawMap = (char *)imesa->apertureBase[TARGET_FRONT]; + imesa->readMap = (char *)imesa->apertureBase[TARGET_FRONT]; + imesa->regs.s4.destCtrl.ni.offset = imesa->savageScreen->frontOffset>>11; imesa->NotFirstFrame = GL_FALSE; - imesa->dirty |= SAVAGE_UPLOAD_BUFFERS; + imesa->dirty |= SAVAGE_UPLOAD_BUFFERS | SAVAGE_UPLOAD_CTX; savageXMesaSetFrontClipRects( imesa ); FALLBACK( ctx, SAVAGE_FALLBACK_DRAW_BUFFER, GL_FALSE ); break; @@ -661,8 +654,9 @@ static void savageDDDrawBuffer(GLcontext *ctx, GLenum mode ) imesa->IsDouble = GL_TRUE; imesa->drawMap = (char *)imesa->apertureBase[TARGET_BACK]; imesa->readMap = (char *)imesa->apertureBase[TARGET_BACK]; + imesa->regs.s4.destCtrl.ni.offset = imesa->savageScreen->backOffset>>11; imesa->NotFirstFrame = GL_FALSE; - imesa->dirty |= SAVAGE_UPLOAD_BUFFERS; + imesa->dirty |= SAVAGE_UPLOAD_BUFFERS | SAVAGE_UPLOAD_CTX; savageXMesaSetBackClipRects( imesa ); FALLBACK( ctx, SAVAGE_FALLBACK_DRAW_BUFFER, GL_FALSE ); break; @@ -1838,13 +1832,6 @@ void savageDDRenderStart(GLcontext *ctx) void savageDDRenderEnd(GLcontext *ctx) { - savageContextPtr imesa = SAVAGE_CONTEXT( ctx ); - - if(!imesa->IsDouble) - { - savageSwapBuffers(imesa->driDrawable); - } - } static void savageDDInvalidateState( GLcontext *ctx, GLuint new_state ) |