aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main/fbobject.c
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2008-05-09 13:02:41 +1000
committerDave Airlie <airlied@panoply-rh.(none)>2008-05-09 13:02:41 +1000
commitc50ffc4cb89b67ae59208eb72cdb664c846ba987 (patch)
treebf4b008317008083fd0802cb2020f62782aca31d /src/mesa/main/fbobject.c
parent990e010394a2685c1daeaef61cf4f7e2a0ba419e (diff)
mesa/intel: map/unmap texture objects around mipmap generation function.
This at least stops the compiz brain explosion we were seeing, I do wonder though if we should somehow be calling intel_generate_mipmap somehow.
Diffstat (limited to 'src/mesa/main/fbobject.c')
-rw-r--r--src/mesa/main/fbobject.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 9b60c732940..b015ca6c5e6 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -1542,10 +1542,16 @@ _mesa_GenerateMipmapEXT(GLenum target)
texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
texObj = _mesa_select_tex_object(ctx, texUnit, target);
+ if (ctx->Driver.MapTexture)
+ ctx->Driver.MapTexture(ctx, texObj);
+
/* XXX this might not handle cube maps correctly */
_mesa_lock_texture(ctx, texObj);
_mesa_generate_mipmap(ctx, target, texUnit, texObj);
_mesa_unlock_texture(ctx, texObj);
+
+ if (ctx->Driver.UnmapTexture)
+ ctx->Driver.UnmapTexture(ctx, texObj);
}