From: José Fonseca Date: Thu, 14 Apr 2011 14:22:49 +0000 (+0100) Subject: mesa/st: Avoid spurious transfers when creating fbo textures without image data. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6881cfc7f7b425f52ae631936cc53d409f208fa1;p=mesa.git mesa/st: Avoid spurious transfers when creating fbo textures without image data. We could actually try to do an early return both for gallium textures and malloc memory textures, but I'm not sure exactly which situations stImage->pt is NULL, and whether texImage->Data == NULL would be acceptible or not. Reviewed-by: Brian Paul --- diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 914c06b7023..43c24ae957f 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -600,7 +600,12 @@ st_TexImage(struct gl_context * ctx, * memory or malloc space for it. */ if (stImage->pt) { - /* Store the image in the gallium texture memory buffer */ + if (!pixels) { + /* We've allocated texture resource, but have no pixel data - all done. */ + goto done; + } + + /* Store the image in the gallium transfer object */ if (format == GL_DEPTH_COMPONENT && util_format_is_depth_and_stencil(stImage->pt->format)) transfer_usage = PIPE_TRANSFER_READ_WRITE;