From ed9119b72a62cca2cbbf36ecca0efc7f7d6c1535 Mon Sep 17 00:00:00 2001 From: Felix Kuehling Date: Sat, 12 Feb 2005 14:35:17 +0000 Subject: Make glean's masked clear test pass. --- src/mesa/drivers/dri/savage/savageioctl.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mesa/drivers/dri/savage/savageioctl.c b/src/mesa/drivers/dri/savage/savageioctl.c index cd25b620f0..707fcb6ffb 100644 --- a/src/mesa/drivers/dri/savage/savageioctl.c +++ b/src/mesa/drivers/dri/savage/savageioctl.c @@ -32,6 +32,7 @@ #include "dd.h" #include "context.h" #include "swrast/swrast.h" +#include "colormac.h" #include "mm.h" #include "savagecontext.h" @@ -346,8 +347,21 @@ static void savageDDClear( GLcontext *ctx, GLbitfield mask, GLboolean all, clearDepth = (GLuint) ((1.0 - ctx->Depth.Clear) * DEPTH_SCALE_24); } - colorMask = *((GLuint *) &ctx->Color.ColorMask); + colorMask = 0; depthMask = 0; + switch (imesa->savageScreen->cpp) { + case 2: + colorMask = PACK_COLOR_565(ctx->Color.ColorMask[0], + ctx->Color.ColorMask[1], + ctx->Color.ColorMask[2]); + break; + case 4: + colorMask = PACK_COLOR_8888(ctx->Color.ColorMask[3], + ctx->Color.ColorMask[2], + ctx->Color.ColorMask[1], + ctx->Color.ColorMask[0]); + break; + } flags = 0; -- cgit v1.2.3