diff options
author | Brian <[email protected]> | 2007-06-21 16:04:04 -0600 |
---|---|---|
committer | Brian <[email protected]> | 2007-06-21 16:04:04 -0600 |
commit | 4d528e54549fb3f12462f9c5ec6e033f1ec91b0f (patch) | |
tree | 446823c639d60e0fceb73b52b8d1de05f3b107cf /src/mesa/swrast/s_span.c | |
parent | f9c17ec58a492a7657ea120fa394056a680b9ec5 (diff) | |
parent | ed5ed6fe2f64f45eb3a43f9c57037d9e9b7fa5ea (diff) |
Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa
Diffstat (limited to 'src/mesa/swrast/s_span.c')
-rw-r--r-- | src/mesa/swrast/s_span.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c index 3aaa3395e4c..431629efb1f 100644 --- a/src/mesa/swrast/s_span.c +++ b/src/mesa/swrast/s_span.c @@ -171,6 +171,11 @@ interpolate_active_attribs(GLcontext *ctx, SWspan *span, GLbitfield attrMask) { const SWcontext *swrast = SWRAST_CONTEXT(ctx); + /* for glDraw/CopyPixels() we may have turned off some bits in + * the _ActiveAttribMask - be sure to obey that mask now. + */ + attrMask &= swrast->_ActiveAttribMask; + ATTRIB_LOOP_BEGIN if (attrMask & (1 << attr)) { const GLfloat dwdx = span->attrStepX[FRAG_ATTRIB_WPOS][3]; @@ -1169,15 +1174,10 @@ shade_texture_span(GLcontext *ctx, SWspan *span) if (ctx->FragmentProgram._Current || ctx->ATIFragmentShader._Enabled) { /* programmable shading */ - if (span->primitive == GL_BITMAP) { - if (span->array->ChanType != GL_FLOAT) - convert_color_type(span, GL_FLOAT, 0); - interpolate_active_attribs(ctx, span, ~FRAG_ATTRIB_COL0); - } - else { - /* point, line, triangle */ - interpolate_active_attribs(ctx, span, ~0); + if (span->primitive == GL_BITMAP && span->array->ChanType != GL_FLOAT) { + convert_color_type(span, GL_FLOAT, 0); } + interpolate_active_attribs(ctx, span, ~0); span->array->ChanType = GL_FLOAT; if (!(span->arrayMask & SPAN_Z)) |