[965] Fix software fallbacks with region-backed textures.

This commit is contained in:
Eric Anholt 2007-12-17 13:47:52 -08:00
parent c1d6b874b3
commit 98d4355240
1 changed files with 16 additions and 0 deletions

View File

@ -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 );
}