[Mesa-dev] [Mesa-stable] [PATCH] mesa: Don't call GenerateMipmap if Width or Height == 0.

Anuj Phogat anuj.phogat at gmail.com
Fri Jul 22 18:07:34 UTC 2016


On Fri, Jul 22, 2016 at 11:04 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
>
> 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 at lists.freedesktop.org
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96911
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/mesa/main/genmipmap.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> 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++) {
> --
> 2.9.0
>
> _______________________________________________
> mesa-stable mailing list
> mesa-stable at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-stable


Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the mesa-dev mailing list