diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/texobj.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index 079a0607c6f..4c2fd1017ce 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -1021,9 +1021,18 @@ _mesa_AreTexturesResident(GLsizei n, const GLuint *texName, GLboolean GLAPIENTRY _mesa_IsTexture( GLuint texture ) { + struct gl_texture_object *t; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); - return texture > 0 && _mesa_HashLookup(ctx->Shared->TexObjects, texture); + + if (!t) + return GL_FALSE; + + t = (struct gl_texture_object *) + _mesa_HashLookup(ctx->Shared->TexObjects, texture); + + /* IsTexture is true only after object has been bound once. */ + return t && t->Target; } /*@}*/ |