NOTE: This is a candidate for the stable branches. --- src/mesa/state_tracker/st_gen_mipmap.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/mesa/state_tracker/st_gen_mipmap.c b/src/mesa/state_tracker/st_gen_mipmap.c index 8892006..7e97edd 100644 --- a/src/mesa/state_tracker/st_gen_mipmap.c +++ b/src/mesa/state_tracker/st_gen_mipmap.c @@ -129,8 +129,24 @@ compute_num_levels(struct gl_context *ctx, _mesa_get_tex_image(ctx, texObj, target, texObj->BaseLevel); GLuint size, numLevels; - size = MAX2(baseImage->Width2, baseImage->Height2); - size = MAX2(size, baseImage->Depth2); + switch (target) { + case GL_TEXTURE_1D: + case GL_TEXTURE_1D_ARRAY: + case GL_TEXTURE_CUBE_MAP: /* cubemaps are squares, don't check Height2 */ + case GL_TEXTURE_CUBE_MAP_ARRAY: + size = baseImage->Width2; + break; + case GL_TEXTURE_2D: + case GL_TEXTURE_2D_ARRAY: + size = MAX2(baseImage->Width2, baseImage->Height2); + break; + case GL_TEXTURE_3D: + size = MAX3(baseImage->Width2, baseImage->Height2, baseImage->Depth2); + break; + default: + assert(0); + return 1; + } numLevels = texObj->BaseLevel; -- 1.7.9.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev