From 98d43552408045e34ba937913cfbad7aadee8213 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 17 Dec 2007 13:47:52 -0800 Subject: [PATCH] [965] Fix software fallbacks with region-backed textures. --- src/mesa/drivers/dri/i965/intel_span.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/mesa/drivers/dri/i965/intel_span.c b/src/mesa/drivers/dri/i965/intel_span.c index 60fbeccdc54..fdb594b8f00 100644 --- a/src/mesa/drivers/dri/i965/intel_span.c +++ b/src/mesa/drivers/dri/i965/intel_span.c @@ -207,6 +207,7 @@ do { \ void intelSpanRenderStart( GLcontext *ctx ) { struct intel_context *intel = intel_context(ctx); + int i; if (intel->need_flush) { LOCK_HARDWARE(intel); @@ -226,11 +227,19 @@ void intelSpanRenderStart( GLcontext *ctx ) intel_region_map(intel, intel->front_region); intel_region_map(intel, intel->back_region); intel_region_map(intel, intel->depth_region); + + for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) { + if (ctx->Texture.Unit[i]._ReallyEnabled) { + struct gl_texture_object *texObj = ctx->Texture.Unit[i]._Current; + intel_tex_map_images(intel, intel_texture_object(texObj)); + } + } } void intelSpanRenderFinish( GLcontext *ctx ) { struct intel_context *intel = intel_context( ctx ); + int i; _swrast_flush( ctx ); @@ -240,6 +249,13 @@ void intelSpanRenderFinish( GLcontext *ctx ) intel_region_unmap(intel, intel->back_region); intel_region_unmap(intel, intel->depth_region); + for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) { + if (ctx->Texture.Unit[i]._ReallyEnabled) { + struct gl_texture_object *texObj = ctx->Texture.Unit[i]._Current; + intel_tex_unmap_images(intel, intel_texture_object(texObj)); + } + } + UNLOCK_HARDWARE( intel ); }