st/mesa: an incomplete texture may have a zero-size first image

Fixes a regression introduced by commit 42624ea83 which triggered
an assertion in
dEQP-GLES2.functional.texture.completeness.cube.not_positive_level_0

While stImage must have a non-zero size as verified by the caller, we also
look at the size of the base image in an attempt to make a better guess at
the level0 size (this is important when the base image size is odd). However,
the base image may have a zero size even when it exists.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96629
Cc: 12.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Nicolai Hähnle 2016-06-24 16:35:36 +02:00
parent de772bc060
commit 0ba053b34c

View file

@ -472,6 +472,9 @@ guess_and_alloc_texture(struct st_context *st,
*/
firstImage = _mesa_base_tex_image(&stObj->base);
if (firstImage &&
firstImage->Width2 > 0 &&
firstImage->Height2 > 0 &&
firstImage->Depth2 > 0 &&
guess_base_level_size(stObj->base.Target,
firstImage->Width2,
firstImage->Height2,