Move clamping of texture LOD bias to texture application time.
This commit is contained in:
parent
760960028f
commit
f5515cb4af
|
@ -525,8 +525,7 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param )
|
|||
if (texUnit->LodBias == param[0])
|
||||
return;
|
||||
FLUSH_VERTICES(ctx, _NEW_TEXTURE);
|
||||
texUnit->LodBias = CLAMP(param[0], -ctx->Const.MaxTextureLodBias,
|
||||
ctx->Const.MaxTextureLodBias);
|
||||
texUnit->LodBias = param[0];
|
||||
}
|
||||
else {
|
||||
TE_ERROR(GL_INVALID_ENUM, "glTexEnv(pname=%s)", pname);
|
||||
|
@ -1402,9 +1401,10 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
|
|||
case GL_TEXTURE_LOD_BIAS:
|
||||
/* NOTE: this is really part of OpenGL 1.4, not EXT_texture_lod_bias*/
|
||||
if (ctx->Extensions.EXT_texture_lod_bias) {
|
||||
texObj->LodBias = CLAMP(params[0],
|
||||
-ctx->Const.MaxTextureLodBias,
|
||||
ctx->Const.MaxTextureLodBias);
|
||||
if (texObj->LodBias != params[0]) {
|
||||
FLUSH_VERTICES(ctx, _NEW_TEXTURE);
|
||||
texObj->LodBias = params[0];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -4200,9 +4200,12 @@ _swrast_texture_span( GLcontext *ctx, struct sw_span *span )
|
|||
if (span->arrayMask & SPAN_LAMBDA) {
|
||||
if (texUnit->LodBias + curObj->LodBias != 0.0F) {
|
||||
/* apply LOD bias, but don't clamp yet */
|
||||
const GLfloat bias = CLAMP(texUnit->LodBias + curObj->LodBias,
|
||||
-ctx->Const.MaxTextureLodBias,
|
||||
ctx->Const.MaxTextureLodBias);
|
||||
GLuint i;
|
||||
for (i = 0; i < span->end; i++) {
|
||||
lambda[i] += (texUnit->LodBias + curObj->LodBias);
|
||||
lambda[i] += bias;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue