meta: texture rectangle textures may not have mipmaps

Avoid INVALID_OPERATION error if decompressing rectangle texture.
Setting mipmap level limits for those textures is error that must not be
hit by meta code to mislead user.

[v3/Kayden]: Resolve conflicts due to Eric picking a subset of Pauli's
original changes.

Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Pauli Nieminen
2012-06-12 21:38:59 +03:00
committed by Kenneth Graunke
parent b9daa83463
commit bf6c1b7470
+4 -2
View File
@@ -3410,8 +3410,10 @@ decompress_texture_image(struct gl_context *ctx,
const GLint maxLevelSave = texObj->MaxLevel;
/* restrict sampling to the texture level of interest */
_mesa_TexParameteri(target, GL_TEXTURE_BASE_LEVEL, texImage->Level);
_mesa_TexParameteri(target, GL_TEXTURE_MAX_LEVEL, texImage->Level);
if (target != GL_TEXTURE_RECTANGLE_ARB) {
_mesa_TexParameteri(target, GL_TEXTURE_BASE_LEVEL, texImage->Level);
_mesa_TexParameteri(target, GL_TEXTURE_MAX_LEVEL, texImage->Level);
}
/* No sRGB decode or encode.*/
if (ctx->Extensions.EXT_framebuffer_sRGB) {