diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/main/config.h | 5 | ||||
-rw-r--r-- | src/mesa/main/context.c | 3 | ||||
-rw-r--r-- | src/mesa/main/get.c | 22 | ||||
-rw-r--r-- | src/mesa/main/mtypes.h | 3 | ||||
-rw-r--r-- | src/mesa/main/texstate.c | 5 |
5 files changed, 32 insertions, 6 deletions
diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index fa65d611bd0..6e1bde8512e 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -1,4 +1,4 @@ -/* $Id: config.h,v 1.34 2001/07/16 15:54:23 brianp Exp $ */ +/* $Id: config.h,v 1.35 2001/11/06 15:53:00 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -134,6 +134,9 @@ /* GL_EXT_texture_filter_anisotropic */ #define MAX_TEXTURE_MAX_ANISOTROPY 16.0 +/* GL_EXT_texture_lod_bias */ +#define MAX_TEXTURE_LOD_BIAS 4.0 + /* diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 690071fee92..230af9c564f 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -1,4 +1,4 @@ -/* $Id: context.c,v 1.148 2001/10/18 08:04:57 joukj Exp $ */ +/* $Id: context.c,v 1.149 2001/11/06 15:53:00 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -738,6 +738,7 @@ init_attrib_groups( GLcontext *ctx ) ctx->Const.MaxCubeTextureLevels = MAX_CUBE_TEXTURE_LEVELS; ctx->Const.MaxTextureUnits = MAX_TEXTURE_UNITS; ctx->Const.MaxTextureMaxAnisotropy = MAX_TEXTURE_MAX_ANISOTROPY; + ctx->Const.MaxTextureLodBias = MAX_TEXTURE_LOD_BIAS; ctx->Const.MaxArrayLockSize = MAX_ARRAY_LOCK_SIZE; ctx->Const.SubPixelBits = SUB_PIXEL_BITS; ctx->Const.MinPointSize = MIN_POINT_SIZE; diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 1588127622f..b7f5d09b794 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -1,4 +1,4 @@ -/* $Id: get.c,v 1.71 2001/10/25 23:21:28 brianp Exp $ */ +/* $Id: get.c,v 1.72 2001/11/06 15:53:00 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -1258,6 +1258,11 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) *params = INT_TO_BOOL(ctx->Array.FogCoord.Stride); break; + /* GL_EXT_texture_lod_bias */ + case GL_MAX_TEXTURE_LOD_BIAS_EXT: + *params = FLOAT_TO_BOOL(ctx->Const.MaxTextureLodBias); + break; + /* GL_EXT_texture_filter_anisotropic */ case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: if (ctx->Extensions.EXT_texture_filter_anisotropic) { @@ -2557,6 +2562,11 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params ) *params = (GLdouble) ctx->Array.FogCoord.Stride; break; + /* GL_EXT_texture_lod_bias */ + case GL_MAX_TEXTURE_LOD_BIAS_EXT: + *params = (GLdouble) ctx->Const.MaxTextureLodBias; + break; + /* GL_EXT_texture_filter_anisotropic */ case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: if (ctx->Extensions.EXT_texture_filter_anisotropic) { @@ -3837,6 +3847,11 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) *params = (GLfloat) ctx->Array.FogCoord.Stride; break; + /* GL_EXT_texture_lod_bias */ + case GL_MAX_TEXTURE_LOD_BIAS_EXT: + *params = ctx->Const.MaxTextureLodBias; + break; + /* GL_EXT_texture_filter_anisotropic */ case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: if (ctx->Extensions.EXT_texture_filter_anisotropic) { @@ -5159,6 +5174,11 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) } break; + /* GL_EXT_texture_lod_bias */ + case GL_MAX_TEXTURE_LOD_BIAS_EXT: + *params = (GLint) ctx->Const.MaxTextureLodBias; + break; + /* GL_EXT_texture_filter_anisotropic */ case GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: if (ctx->Extensions.EXT_texture_filter_anisotropic) { diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index c670e574132..b4853f64e66 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1,4 +1,4 @@ -/* $Id: mtypes.h,v 1.51 2001/10/17 13:31:07 brianp Exp $ */ +/* $Id: mtypes.h,v 1.52 2001/11/06 15:53:00 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -1165,6 +1165,7 @@ struct gl_constants { GLint MaxCubeTextureLevels; GLuint MaxTextureUnits; GLfloat MaxTextureMaxAnisotropy; /* GL_EXT_texture_filter_anisotropic */ + GLfloat MaxTextureLodBias; /* GL_EXT_texture_lod_bias */ GLuint MaxArrayLockSize; GLint SubPixelBits; GLfloat MinPointSize, MaxPointSize; /* aliased */ diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index f2f02116066..06c3f81871a 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -1,4 +1,4 @@ -/* $Id: texstate.c,v 1.58 2001/10/17 13:31:07 brianp Exp $ */ +/* $Id: texstate.c,v 1.59 2001/11/06 15:53:00 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -413,7 +413,8 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param ) if (texUnit->LodBias == param[0]) return; FLUSH_VERTICES(ctx, _NEW_TEXTURE); - texUnit->LodBias = param[0]; + texUnit->LodBias = CLAMP(param[0], -ctx->Const.MaxTextureLodBias, + ctx->Const.MaxTextureLodBias); break; default: TE_ERROR(GL_INVALID_ENUM, "glTexEnv(pname=%s)", pname); |