openbsd-ports/graphics/MesaGL/patches/patch-af

22 lines
960 B
Plaintext

--- src/misc.c.orig Sun Mar 7 19:14:46 1999
+++ src/misc.c Sun Mar 7 19:14:51 1999
@@ -260,8 +263,17 @@
width = ctx->Buffer->Xmax - ctx->Buffer->Xmin + 1;
/* let device driver try to clear the buffers */
- newMask = (*ctx->Driver.Clear)( ctx, mask, !ctx->Scissor.Enabled,
+ if ((mask & GL_COLOR_BUFFER_BIT) != 0 && ctx->Color.SWmasking) {
+ /* driver can't clear color buffer with color/index masking */
+ GLbitfield mask2 = mask & (~GL_COLOR_BUFFER_BIT);
+ newMask = (*ctx->Driver.Clear)( ctx, mask2, !ctx->Scissor.Enabled,
x, y, width, height );
+ newMask |= GL_COLOR_BUFFER_BIT;
+ }
+ else {
+ newMask = (*ctx->Driver.Clear)( ctx, mask, !ctx->Scissor.Enabled,
+ x, y, width, height );
+ }
/* check if only clearing of alpha buffer needed */
if ( (mask & GL_COLOR_BUFFER_BIT) &&