meta: use _mesa_set_enable(), fix decompress_texture_image()
authorBrian Paul <brianp@vmware.com>
Tue, 20 Sep 2011 17:48:57 +0000 (11:48 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 21 Sep 2011 02:17:42 +0000 (20:17 -0600)
Use _mesa_set_enable() to avoid a redudant context lookup.
Need to disable the texture target in decompress_texture_image() so the
unit isn't still enabled after glGetTexImage() returns.  Arguably, the
meta restore code should do this, but it doesn't.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/common/meta.c

index 82b072eeb8c7ba241b034f294618847b1bcbdfb4..be1953ab2f9524564904418909bc2405b244d385 100644 (file)
@@ -3182,7 +3182,7 @@ decompress_texture_image(struct gl_context *ctx,
 
    /* setup texture state */
    _mesa_BindTexture(target, texObj->Name);
-   _mesa_Enable(target);
+   _mesa_set_enable(ctx, target, GL_TRUE);
 
    {
       /* save texture object state */
@@ -3233,6 +3233,9 @@ decompress_texture_image(struct gl_context *ctx,
    ctx->Pack.RowLength = destRowLength;
    _mesa_ReadPixels(0, 0, width, height, destFormat, destType, dest);
 
+   /* disable texture unit */
+   _mesa_set_enable(ctx, target, GL_FALSE);
+
    _mesa_meta_end(ctx);
 
    /* restore fbo bindings */