diff options
author | Anuj Phogat <[email protected]> | 2015-05-15 06:01:15 -0700 |
---|---|---|
committer | Anuj Phogat <[email protected]> | 2015-06-15 09:07:28 -0700 |
commit | 8e9eec5cbf73bf977bc7e808a4e653737ee94c38 (patch) | |
tree | 771d35e071da8c5412c320b8132e1aeb919b7c41 /src/mesa | |
parent | a4ff47ade9d95a27c9c55afbf6dd77d3f3b10562 (diff) |
meta: Abort texture upload if pixels == null and no pixel unpack buffer set
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 <[email protected]>
Reviewed-by: Neil Roberts <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/common/meta_tex_subimage.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/common/meta_tex_subimage.c b/src/mesa/drivers/common/meta_tex_subimage.c index 6bd74e126f2..d2474f52718 100644 --- a/src/mesa/drivers/common/meta_tex_subimage.c +++ b/src/mesa/drivers/common/meta_tex_subimage.c @@ -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 || |