diff options
Diffstat (limited to 'src/mesa/main/texobj.c')
-rw-r--r-- | src/mesa/main/texobj.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index 918dd59edaa..85246c8ab00 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -1094,7 +1094,7 @@ unbind_texobj_from_texunits(struct gl_context *ctx, { GLuint u, tex; - for (u = 0; u < Elements(ctx->Texture.Unit); u++) { + for (u = 0; u < ctx->Texture.NumCurrentTexUsed; u++) { struct gl_texture_unit *unit = &ctx->Texture.Unit[u]; for (tex = 0; tex < NUM_TEXTURE_TARGETS; tex++) { if (texObj == unit->CurrentTex[tex]) { @@ -1353,6 +1353,8 @@ _mesa_BindTexture( GLenum target, GLuint texName ) * count hits zero. */ _mesa_reference_texobj(&texUnit->CurrentTex[targetIndex], newTexObj); + ctx->Texture.NumCurrentTexUsed = MAX2(ctx->Texture.NumCurrentTexUsed, + ctx->Texture.CurrentUnit + 1); ASSERT(texUnit->CurrentTex[targetIndex]); /* Pass BindTexture call to device driver */ |