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.
This commit is contained in:
parent
4683cab29a
commit
8c7135ee14
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue