diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/x11/xm_dd.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mesa/drivers/x11/xm_dd.c b/src/mesa/drivers/x11/xm_dd.c index bf0058cc41e..0d06860b644 100644 --- a/src/mesa/drivers/x11/xm_dd.c +++ b/src/mesa/drivers/x11/xm_dd.c @@ -1,4 +1,4 @@ -/* $Id: xm_dd.c,v 1.15 2001/02/19 20:01:42 brianp Exp $ */ +/* $Id: xm_dd.c,v 1.16 2001/03/01 00:05:05 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -38,6 +38,7 @@ #include "xmesaP.h" #include "array_cache/acache.h" #include "swrast/swrast.h" +#include "swrast/s_alphabuf.h" #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" @@ -748,6 +749,12 @@ clear_buffers( GLcontext *ctx, GLbitfield mask, const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx; const GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask; + if ((mask & (DD_FRONT_LEFT_BIT | DD_FRONT_RIGHT_BIT)) && + xmesa->xm_buffer->gl_buffer->UseSoftwareAlphaBuffers && + ctx->Color.ColorMask[ACOMP]) { + _mesa_clear_alpha_buffers(ctx); + } + /* we can't handle color or index masking */ if (*colorMask == 0xffffffff && ctx->Color.IndexMask == 0xffffffff) { if (mask & DD_FRONT_LEFT_BIT) { |