summaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast/s_buffers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/swrast/s_buffers.c')
-rw-r--r--src/mesa/swrast/s_buffers.c33
1 files changed, 10 insertions, 23 deletions
diff --git a/src/mesa/swrast/s_buffers.c b/src/mesa/swrast/s_buffers.c
index 1b07eb0bef0..102d53ac7fa 100644
--- a/src/mesa/swrast/s_buffers.c
+++ b/src/mesa/swrast/s_buffers.c
@@ -1,4 +1,4 @@
-/* $Id: s_buffers.c,v 1.13 2002/10/04 19:10:12 brianp Exp $ */
+/* $Id: s_buffers.c,v 1.14 2002/10/11 17:41:06 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -166,18 +166,7 @@ clear_color_buffers(GLcontext *ctx)
/* loop over four possible dest color buffers */
for (bufferBit = 1; bufferBit <= 8; bufferBit = bufferBit << 1) {
if (bufferBit & ctx->Color._DrawDestMask) {
- if (bufferBit == FRONT_LEFT_BIT) {
- (*swrast->Driver.SetBuffer)(ctx, ctx->DrawBuffer, GL_FRONT_LEFT);
- }
- else if (bufferBit == FRONT_RIGHT_BIT) {
- (*swrast->Driver.SetBuffer)(ctx, ctx->DrawBuffer, GL_FRONT_RIGHT);
- }
- else if (bufferBit == BACK_LEFT_BIT) {
- (*swrast->Driver.SetBuffer)(ctx, ctx->DrawBuffer, GL_BACK_LEFT);
- }
- else {
- (*swrast->Driver.SetBuffer)(ctx, ctx->DrawBuffer, GL_BACK_RIGHT);
- }
+ (*swrast->Driver.SetBuffer)(ctx, ctx->DrawBuffer, bufferBit);
if (colorMask != 0xffffffff) {
clear_color_buffer_with_masking(ctx);
@@ -274,10 +263,9 @@ _swrast_use_read_buffer( GLcontext *ctx )
SWcontext *swrast = SWRAST_CONTEXT(ctx);
/* Do this so the software-emulated alpha plane span functions work! */
- ctx->Color._DriverDrawBuffer = ctx->Pixel._DriverReadBuffer;
+ swrast->CurrentBuffer = ctx->Pixel._ReadSrcMask;
/* Tell the device driver where to read/write spans */
- (*swrast->Driver.SetBuffer)( ctx, ctx->ReadBuffer,
- ctx->Pixel._DriverReadBuffer );
+ (*swrast->Driver.SetBuffer)( ctx, ctx->ReadBuffer, swrast->CurrentBuffer );
}
@@ -302,17 +290,16 @@ _swrast_use_draw_buffer( GLcontext *ctx )
*/
if (ctx->Color._DrawDestMask & FRONT_LEFT_BIT)
- ctx->Color._DriverDrawBuffer = GL_FRONT_LEFT;
+ swrast->CurrentBuffer = FRONT_LEFT_BIT;
else if (ctx->Color._DrawDestMask & BACK_LEFT_BIT)
- ctx->Color._DriverDrawBuffer = GL_BACK_LEFT;
+ swrast->CurrentBuffer = BACK_LEFT_BIT;
else if (ctx->Color._DrawDestMask & FRONT_RIGHT_BIT)
- ctx->Color._DriverDrawBuffer = GL_FRONT_RIGHT;
+ swrast->CurrentBuffer = FRONT_RIGHT_BIT;
else if (ctx->Color._DrawDestMask & BACK_RIGHT_BIT)
- ctx->Color._DriverDrawBuffer = GL_BACK_RIGHT;
+ swrast->CurrentBuffer = BACK_RIGHT_BIT;
else
/* glDrawBuffer(GL_NONE) */
- ctx->Color._DriverDrawBuffer = GL_FRONT_LEFT; /* always have this */
+ swrast->CurrentBuffer = FRONT_LEFT_BIT; /* we always have this buffer */
- (*swrast->Driver.SetBuffer)( ctx, ctx->DrawBuffer,
- ctx->Color._DriverDrawBuffer );
+ (*swrast->Driver.SetBuffer)( ctx, ctx->DrawBuffer, swrast->CurrentBuffer );
}