summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/genmipmap.c
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2016-07-21 22:13:38 -0700
committerKenneth Graunke <kenneth@whitecape.org>2016-07-22 20:31:20 -0700
commitf80bea2d8066d228e78a1744d036f69a0265116e (patch)
tree085f441bf92b9cc2b4f9832f605ab7865b2fe066 /src/mesa/main/genmipmap.c
parentb33bccb51917b9058541641702623bbe89841f1e (diff)
downloadexternal_mesa3d-f80bea2d8066d228e78a1744d036f69a0265116e.zip
external_mesa3d-f80bea2d8066d228e78a1744d036f69a0265116e.tar.gz
external_mesa3d-f80bea2d8066d228e78a1744d036f69a0265116e.tar.bz2
mesa: Don't call GenerateMipmap if Width or Height == 0.
One of the WebGL 2.0 conformance tests is trying to call glGenerateMipmaps with a width and height of 0. With the meta implementation, this generates a "framebuffer attachment incomplete" status, and falls back to the CPU path, calling MapTextureImage. Except that there's no actual texture to map, and we assert fail. There's no work to do in this case. The test expects it to succeed, so just return early with no error and avoid hassling the driver. Cc: mesa-stable@lists.freedesktop.org Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96911 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Diffstat (limited to 'src/mesa/main/genmipmap.c')
-rw-r--r--src/mesa/main/genmipmap.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/main/genmipmap.c b/src/mesa/main/genmipmap.c
index c952c4f..97d3c62 100644
--- a/src/mesa/main/genmipmap.c
+++ b/src/mesa/main/genmipmap.c
@@ -149,6 +149,11 @@ _mesa_generate_texture_mipmap(struct gl_context *ctx,
return;
}
+ if (srcImage->Width == 0 || srcImage->Height == 0) {
+ _mesa_unlock_texture(ctx, texObj);
+ return;
+ }
+
if (target == GL_TEXTURE_CUBE_MAP) {
GLuint face;
for (face = 0; face < 6; face++) {