mesa: fix proxy textures not working with default texture binding

When working with the glTexStorage*() functions, the error checking
checks that a non-default (i.e., non-zero) texture is currently bound.
However, this check made glTexStorage*() functions fail with proxy
textures when the default texture is bound. Proxy textures do not care
about the current texture bindings so for them this check should not
be done.

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

Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 3f3f66fd94)
This commit is contained in:
Mikko Juola 2013-07-30 06:29:54 +03:00 committed by Ian Romanick
parent e3dbfc5769
commit ddf6f591a9

View file

@ -335,7 +335,7 @@ tex_storage_error_check(struct gl_context *ctx, GLuint dims, GLenum target,
/* non-default texture object check */
texObj = _mesa_get_current_tex_object(ctx, target);
if (!texObj || (texObj->Name == 0)) {
if (!_mesa_is_proxy_texture(target) && (!texObj || (texObj->Name == 0))) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glTexStorage%uD(texture object 0)", dims);
return GL_TRUE;