[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