meta: Abort texture upload if pixels == null and no pixel unpack buffer set
authorAnuj Phogat <anuj.phogat@gmail.com>
Fri, 15 May 2015 13:01:15 +0000 (06:01 -0700)
committerAnuj Phogat <anuj.phogat@gmail.com>
Mon, 15 Jun 2015 16:07:28 +0000 (09:07 -0700)
in case of glTexImage{1,2,3}D(). Texture has already been allocated
at this point and we have no data to upload. With out this patch,
with create_pbo = true, we end up creating a temporary pbo and then
uploading uninitialzed texture data.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
src/mesa/drivers/common/meta_tex_subimage.c

index 6bd74e1..d2474f5 100644 (file)
@@ -151,7 +151,8 @@ _mesa_meta_pbo_TexSubImage(struct gl_context *ctx, GLuint dims,
    bool success = false;
    int z;
 
-   if (!_mesa_is_bufferobj(packing->BufferObj) && !create_pbo)
+   if (!_mesa_is_bufferobj(packing->BufferObj) &&
+       (!create_pbo || pixels == NULL))
       return false;
 
    if (format == GL_DEPTH_COMPONENT ||