meta: Don't use fixed-function to decompress array textures

Array textures can't be used with fixed-function, so don't.  Instead,
just drop the decompress request on the floor.  This is no worse than
what was done previously because generating the GL error (in
_mesa_set_enable) broke everything anyway.

A later patch will get GL_TEXTURE_2D_ARRAY targets working.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Ian Romanick
2013-12-13 13:40:48 -08:00
parent eb65d4b84d
commit 2bf4db1697
+20 -3
View File
@@ -4021,11 +4021,28 @@ decompress_texture_image(struct gl_context *ctx,
target == GL_TEXTURE_2D_ARRAY);
}
if (target == GL_TEXTURE_CUBE_MAP) {
switch (target) {
case GL_TEXTURE_1D:
case GL_TEXTURE_1D_ARRAY:
assert(!"No compressed 1D textures.");
return;
case GL_TEXTURE_3D:
assert(!"No compressed 3D textures.");
return;
case GL_TEXTURE_2D_ARRAY:
case GL_TEXTURE_CUBE_MAP_ARRAY:
/* These targets are just broken currently. */
return;
case GL_TEXTURE_CUBE_MAP:
faceTarget = GL_TEXTURE_CUBE_MAP_POSITIVE_X + texImage->Face;
}
else {
break;
default:
faceTarget = target;
break;
}
/* save fbo bindings (not saved by _mesa_meta_begin()) */