From: Brian Paul Date: Wed, 21 Jan 2009 16:05:02 +0000 (-0700) Subject: swrast: fix redundant texture application in affine_textured_triangle(). X-Git-Tag: 062012170305~17671^2~235 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8c7135ee14fb6f4d8b6e64d570daee3512c99438;p=profile%2Fivi%2Fmesa.git swrast: fix redundant texture application in affine_textured_triangle(). This function does simple texture mapping so disable normal texture mapping before we call _swrast_write_rgba_span() so that we don't do it twice. --- diff --git a/src/mesa/swrast/s_triangle.c b/src/mesa/swrast/s_triangle.c index 2033ab5..a2e8433 100644 --- a/src/mesa/swrast/s_triangle.c +++ b/src/mesa/swrast/s_triangle.c @@ -1,6 +1,6 @@ /* * Mesa 3-D graphics library - * Version: 6.5.3 + * Version: 7.3 * * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. * @@ -263,6 +263,10 @@ affine_span(GLcontext *ctx, SWspan *span, struct affine_info *info) { GLchan sample[4]; /* the filtered texture sample */ + const GLuint texEnableSave = ctx->Texture._EnabledUnits; + + /* Disable tex units so they're not re-applied in swrast_write_rgba_span */ + ctx->Texture._EnabledUnits = 0x0; /* Instead of defining a function for each mode, a test is done * between the outer and inner loops. This is to reduce code size @@ -493,8 +497,12 @@ affine_span(GLcontext *ctx, SWspan *span, } span->interpMask &= ~SPAN_RGBA; ASSERT(span->arrayMask & SPAN_RGBA); + _swrast_write_rgba_span(ctx, span); + /* re-enable texture units */ + ctx->Texture._EnabledUnits = texEnableSave; + #undef SPAN_NEAREST #undef SPAN_LINEAR }