}
}
+void intelMapTexture(GLcontext *ctx, struct gl_texture_object *texObj)
+{
+ struct intel_texture_object *intelObj = intel_texture_object(texObj);
+ struct intel_context *intel = intel_context(ctx);
+
+ intel_tex_map_images(intel, intelObj);
+}
+
+void intelUnmapTexture(GLcontext *ctx, struct gl_texture_object *texObj)
+{
+ struct intel_texture_object *intelObj = intel_texture_object(texObj);
+ struct intel_context *intel = intel_context(ctx);
+
+ intel_tex_unmap_images(intel, intelObj);
+}
void
intelInitTextureFuncs(struct dd_function_table *functions)
functions->UpdateTexturePalette = 0;
functions->IsTextureResident = intelIsTextureResident;
+ functions->MapTexture = intelMapTexture;
+ functions->UnmapTexture = intelUnmapTexture;
+
#if DO_DEBUG && !defined(__ia64__)
if (INTEL_DEBUG & DEBUG_BUFMGR)
functions->TextureMemCpy = timed_memcpy;
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);
}