diff options
| -rw-r--r-- | src/mesa/drivers/dri/i965/intel_span.c | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/src/mesa/drivers/dri/i965/intel_span.c b/src/mesa/drivers/dri/i965/intel_span.c index 60fbeccdc5..fdb594b8f0 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 );  } | 
