diff options
author | Brian Paul <brianp@vmware.com> | 2009-12-11 10:04:07 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-12-11 10:04:07 -0700 |
commit | a087eb590d780cb82b49464e05ffc85123adce7e (patch) | |
tree | a2ac3ec2cc0b9001b350664d6e7915aba5e087a9 /src/mesa/drivers/common/meta.c | |
parent | cb640c8d40c4ee34160a14d646c244f44a5013f6 (diff) | |
parent | e128cc205e30540597ecd57849060a6bf4714d9f (diff) |
Merge branch 'mesa_7_7_branch'
Conflicts:
src/gallium/state_trackers/xorg/xorg_xv.c
src/mesa/drivers/dri/intel/intel_span.c
Diffstat (limited to 'src/mesa/drivers/common/meta.c')
-rw-r--r-- | src/mesa/drivers/common/meta.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index a431519143..39b0ab13c6 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -2149,6 +2149,7 @@ _mesa_meta_GenerateMipmap(GLcontext *ctx, GLenum target, const GLenum wrapTSave = texObj->WrapT; const GLenum wrapRSave = texObj->WrapR; const GLuint fboSave = ctx->DrawBuffer->Name; + const GLuint original_active_unit = ctx->Texture.CurrentUnit; GLenum faceTarget; GLuint dstLevel; GLuint border = 0; @@ -2288,6 +2289,9 @@ _mesa_meta_GenerateMipmap(GLcontext *ctx, GLenum target, /* texture is already locked, unlock now */ _mesa_unlock_texture(ctx, texObj); + if (original_active_unit != 0) + _mesa_BindTexture(target, texObj->Name); + for (dstLevel = baseLevel + 1; dstLevel <= maxLevel; dstLevel++) { const struct gl_texture_image *srcImage; const GLuint srcLevel = dstLevel - 1; |