diff options
author | Dave Airlie <[email protected]> | 2008-05-09 13:02:41 +1000 |
---|---|---|
committer | Dave Airlie <airlied@panoply-rh.(none)> | 2008-05-09 13:02:41 +1000 |
commit | c50ffc4cb89b67ae59208eb72cdb664c846ba987 (patch) | |
tree | bf4b008317008083fd0802cb2020f62782aca31d /src/mesa/main/fbobject.c | |
parent | 990e010394a2685c1daeaef61cf4f7e2a0ba419e (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.c | 6 |
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); } |