summaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast/s_copypix.c
diff options
context:
space:
mode:
authorBrian <[email protected]>2007-03-26 11:30:05 -0600
committerBrian <[email protected]>2007-03-26 11:30:05 -0600
commit38a1c2b4959d35236933c14d3944cce94283ca30 (patch)
treec82629e61cc04ad279deaeae578bc5e584d425ce /src/mesa/swrast/s_copypix.c
parentb5d988dd19291e4e1e6f18e4163c2acac66729de (diff)
Add _swrast_span_default_secondary_color() for use with glBitmap, glDrawPixels, etc.
Secondary color wasn't getting added to post-texture color when drawing bitmaps, images. See bug 10409.
Diffstat (limited to 'src/mesa/swrast/s_copypix.c')
-rw-r--r--src/mesa/swrast/s_copypix.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesa/swrast/s_copypix.c b/src/mesa/swrast/s_copypix.c
index 2051e1f3b73..7ba7424aa99 100644
--- a/src/mesa/swrast/s_copypix.c
+++ b/src/mesa/swrast/s_copypix.c
@@ -109,7 +109,8 @@ copy_conv_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy,
_swrast_span_default_z(ctx, &span);
if (swrast->_FogEnabled)
_swrast_span_default_fog(ctx, &span);
-
+ if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
+ _swrast_span_default_secondary_color(ctx, &span);
/* allocate space for GLfloat image */
tmpImage = (GLfloat *) _mesa_malloc(width * height * 4 * sizeof(GLfloat));
@@ -244,6 +245,8 @@ copy_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy,
_swrast_span_default_z(ctx, &span);
if (swrast->_FogEnabled)
_swrast_span_default_fog(ctx, &span);
+ if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
+ _swrast_span_default_secondary_color(ctx, &span);
if (overlapping) {
tmpImage = (GLfloat *) _mesa_malloc(width * height * sizeof(GLfloat) * 4);
@@ -489,6 +492,8 @@ copy_depth_pixels( GLcontext *ctx, GLint srcx, GLint srcy,
}
_swrast_span_default_color(ctx, &span);
+ if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
+ _swrast_span_default_secondary_color(ctx, &span);
if (swrast->_FogEnabled)
_swrast_span_default_fog(ctx, &span);