[Mesa-dev] [PATCH] mesa: don't allocate a texture if width or height is 0 in CopyTexImage

Brian Paul brian.e.paul at gmail.com
Tue Mar 5 08:16:27 PST 2013


On Mon, Mar 4, 2013 at 2:22 PM, Marek Olšák <maraeo at gmail.com> wrote:
> ---
>  src/mesa/main/teximage.c |   22 ++++++++++++----------
>  1 file changed, 12 insertions(+), 10 deletions(-)
>
> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
> index 0dcf88a..a7b88d1 100644
> --- a/src/mesa/main/teximage.c
> +++ b/src/mesa/main/teximage.c
> @@ -3494,19 +3494,21 @@ copyteximage(struct gl_context *ctx, GLuint dims,
>           _mesa_init_teximage_fields(ctx, texImage, width, height, 1,
>                                      border, internalFormat, texFormat);
>
> -         /* Allocate texture memory (no pixel data yet) */
> -         ctx->Driver.AllocTextureImageBuffer(ctx, texImage);
> +         if (width && height) {
> +            /* Allocate texture memory (no pixel data yet) */
> +            ctx->Driver.AllocTextureImageBuffer(ctx, texImage);
>
> -         if (_mesa_clip_copytexsubimage(ctx, &dstX, &dstY, &srcX, &srcY,
> -                                        &width, &height)) {
> -            struct gl_renderbuffer *srcRb =
> -               get_copy_tex_image_source(ctx, texImage->TexFormat);
> +            if (_mesa_clip_copytexsubimage(ctx, &dstX, &dstY, &srcX, &srcY,
> +                                           &width, &height)) {
> +               struct gl_renderbuffer *srcRb =
> +                  get_copy_tex_image_source(ctx, texImage->TexFormat);
>
> -            ctx->Driver.CopyTexSubImage(ctx, dims, texImage, dstX, dstY, dstZ,
> -                                        srcRb, srcX, srcY, width, height);
> -         }
> +               ctx->Driver.CopyTexSubImage(ctx, dims, texImage, dstX, dstY, dstZ,
> +                                           srcRb, srcX, srcY, width, height);
> +            }
>
> -         check_gen_mipmap(ctx, target, texObj, level);
> +            check_gen_mipmap(ctx, target, texObj, level);
> +         }
>
>           _mesa_update_fbo_texture(ctx, texObj, face, level);
>

Candidate for stable branches?

Reviewed-by: Brian Paul <brianp at vmware.com>


More information about the mesa-dev mailing list