diff options
author | marha <marha@users.sourceforge.net> | 2012-11-19 10:47:23 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-11-19 10:47:23 +0100 |
commit | b3e1e62c45f525cdd332073aaa34d8452cb23374 (patch) | |
tree | 221ee6420074033279921fadc971d30d63d6847b /mesalib/src/mesa/state_tracker/st_gen_mipmap.c | |
parent | b142593315b909b9e202f0f4585b96bf2e74b9db (diff) | |
download | vcxsrv-b3e1e62c45f525cdd332073aaa34d8452cb23374.tar.gz vcxsrv-b3e1e62c45f525cdd332073aaa34d8452cb23374.tar.bz2 vcxsrv-b3e1e62c45f525cdd332073aaa34d8452cb23374.zip |
git update 19 nov 2012
fontconfig: c20ac78b01df3f0919352bba16b5b48b3b5d4d6d
libxcb: 76a2166de9c80b35f987fdc3f3a228bafa0de94e
mesa: ddb901fbf4489ffcd85d3320f23913eb1d4fbdfe
pixman: 44dd746bb68625b2f6be77c3f80292b45defe9d7
xserver: 6a6c3afe71ac82a93d9fd0034dd5bbdcf0eae1ea
xkeyboard-config: 709e05c069428236ca2567e784c9971eecc8ca50
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_gen_mipmap.c')
-rw-r--r-- | mesalib/src/mesa/state_tracker/st_gen_mipmap.c | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_gen_mipmap.c b/mesalib/src/mesa/state_tracker/st_gen_mipmap.c index 889200686..c09261312 100644 --- a/mesalib/src/mesa/state_tracker/st_gen_mipmap.c +++ b/mesalib/src/mesa/state_tracker/st_gen_mipmap.c @@ -121,30 +121,16 @@ compute_num_levels(struct gl_context *ctx, struct gl_texture_object *texObj, GLenum target) { - if (target == GL_TEXTURE_RECTANGLE_ARB) { - return 1; - } - else { - const struct gl_texture_image *baseImage = - _mesa_get_tex_image(ctx, texObj, target, texObj->BaseLevel); - GLuint size, numLevels; + const struct gl_texture_image *baseImage; + GLuint numLevels; - size = MAX2(baseImage->Width2, baseImage->Height2); - size = MAX2(size, baseImage->Depth2); + baseImage = _mesa_get_tex_image(ctx, texObj, target, texObj->BaseLevel); - numLevels = texObj->BaseLevel; - - while (size > 0) { - numLevels++; - size >>= 1; - } + numLevels = texObj->BaseLevel + baseImage->MaxNumLevels; + numLevels = MIN2(numLevels, texObj->MaxLevel + 1); + assert(numLevels >= 1); - numLevels = MIN2(numLevels, texObj->MaxLevel + 1); - - assert(numLevels >= 1); - - return numLevels; - } + return numLevels; } |