mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
Fix color sum bug 10688.
This commit is contained in:
parent
112e1f2b5a
commit
f793e90e82
4 changed files with 13 additions and 15 deletions
|
|
@ -85,8 +85,7 @@ _swrast_Bitmap( GLcontext *ctx, GLint px, GLint py,
|
|||
INIT_SPAN(span, GL_BITMAP, width, 0, SPAN_XY);
|
||||
|
||||
_swrast_span_default_color(ctx, &span);
|
||||
if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
if (ctx->Depth.Test)
|
||||
_swrast_span_default_z(ctx, &span);
|
||||
if (swrast->_FogEnabled)
|
||||
|
|
|
|||
|
|
@ -109,8 +109,7 @@ 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);
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
|
||||
/* allocate space for GLfloat image */
|
||||
tmpImage = (GLfloat *) _mesa_malloc(width * height * 4 * sizeof(GLfloat));
|
||||
|
|
@ -245,8 +244,7 @@ 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);
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
|
||||
if (overlapping) {
|
||||
tmpImage = (GLfloat *) _mesa_malloc(width * height * sizeof(GLfloat) * 4);
|
||||
|
|
@ -492,8 +490,7 @@ 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);
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
if (swrast->_FogEnabled)
|
||||
_swrast_span_default_fog(ctx, &span);
|
||||
|
||||
|
|
|
|||
|
|
@ -71,8 +71,7 @@ fast_draw_rgba_pixels(GLcontext *ctx, GLint x, GLint y,
|
|||
}
|
||||
|
||||
INIT_SPAN(span, GL_BITMAP, 0, 0, SPAN_RGBA);
|
||||
if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
if (ctx->Depth.Test)
|
||||
_swrast_span_default_z(ctx, &span);
|
||||
if (swrast->_FogEnabled)
|
||||
|
|
@ -443,8 +442,7 @@ draw_depth_pixels( GLcontext *ctx, GLint x, GLint y,
|
|||
INIT_SPAN(span, GL_BITMAP, 0, 0, SPAN_Z);
|
||||
|
||||
_swrast_span_default_color(ctx, &span);
|
||||
if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
if (swrast->_FogEnabled)
|
||||
_swrast_span_default_fog(ctx, &span);
|
||||
if (ctx->Texture._EnabledCoordUnits)
|
||||
|
|
@ -565,8 +563,7 @@ draw_rgba_pixels( GLcontext *ctx, GLint x, GLint y,
|
|||
return;
|
||||
|
||||
INIT_SPAN(span, GL_BITMAP, 0, 0, SPAN_RGBA);
|
||||
if (ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
_swrast_span_default_secondary_color(ctx, &span);
|
||||
if (ctx->Depth.Test)
|
||||
_swrast_span_default_z(ctx, &span);
|
||||
if (swrast->_FogEnabled)
|
||||
|
|
|
|||
|
|
@ -130,10 +130,15 @@ _swrast_span_default_color( GLcontext *ctx, SWspan *span )
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the span's secondary color info to the current raster position's
|
||||
* secondary color, when needed (lighting enabled or colorsum enabled).
|
||||
*/
|
||||
void
|
||||
_swrast_span_default_secondary_color(GLcontext *ctx, SWspan *span)
|
||||
{
|
||||
if (ctx->Visual.rgbMode) {
|
||||
if (ctx->Visual.rgbMode && (ctx->Light.Enabled || ctx->Fog.ColorSumEnabled))
|
||||
{
|
||||
GLchan r, g, b, a;
|
||||
UNCLAMPED_FLOAT_TO_CHAN(r, ctx->Current.RasterSecondaryColor[0]);
|
||||
UNCLAMPED_FLOAT_TO_CHAN(g, ctx->Current.RasterSecondaryColor[1]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue