diff options
Diffstat (limited to 'src/mesa/swrast/s_copypix.c')
-rw-r--r-- | src/mesa/swrast/s_copypix.c | 7 |
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); |