summaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2010-01-07 09:43:08 -0700
committerBrian Paul <[email protected]>2010-01-07 09:43:11 -0700
commitb841c2756e6d697d5b2884317c0daa3f176195a6 (patch)
treef5e6ffd9484d2eaf3956ec42a6fe1f1c993332af /src/mesa/swrast
parentfa47eff55b4cb1f64afff7570f08a57f330fb05d (diff)
swrast: fix color masking for glAccum(GL_RETURN)
Should fix fdo bug 25837.
Diffstat (limited to 'src/mesa/swrast')
-rw-r--r--src/mesa/swrast/s_accum.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/swrast/s_accum.c b/src/mesa/swrast/s_accum.c
index 2d8c361e5d7..0e0876efcba 100644
--- a/src/mesa/swrast/s_accum.c
+++ b/src/mesa/swrast/s_accum.c
@@ -436,10 +436,6 @@ accum_return(GLcontext *ctx, GLfloat value,
struct gl_renderbuffer *accumRb = fb->Attachment[BUFFER_ACCUM].Renderbuffer;
const GLboolean directAccess
= (accumRb->GetPointer(ctx, accumRb, 0, 0) != NULL);
- const GLboolean masking = (!ctx->Color.ColorMask[RCOMP] ||
- !ctx->Color.ColorMask[GCOMP] ||
- !ctx->Color.ColorMask[BCOMP] ||
- !ctx->Color.ColorMask[ACOMP]);
static GLchan multTable[32768];
static GLfloat prevMult = 0.0;
@@ -527,6 +523,10 @@ accum_return(GLcontext *ctx, GLfloat value,
/* store colors */
for (buffer = 0; buffer < fb->_NumColorDrawBuffers; buffer++) {
struct gl_renderbuffer *rb = fb->_ColorDrawBuffers[buffer];
+ const GLboolean masking = (!ctx->Color.ColorMask[buffer][RCOMP] ||
+ !ctx->Color.ColorMask[buffer][GCOMP] ||
+ !ctx->Color.ColorMask[buffer][BCOMP] ||
+ !ctx->Color.ColorMask[buffer][ACOMP]);
if (masking) {
_swrast_mask_rgba_span(ctx, rb, &span, buffer);
}