From 3b09f6544aee880687cd82de33205ae2fa652e10 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 30 Mar 2009 12:02:08 +1000 Subject: radeon: fix readback problem for piglit tests --- src/mesa/drivers/dri/radeon/radeon_span.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/mesa/drivers/dri/radeon/radeon_span.c') diff --git a/src/mesa/drivers/dri/radeon/radeon_span.c b/src/mesa/drivers/dri/radeon/radeon_span.c index 0b4eaae02b..961bbaba5b 100644 --- a/src/mesa/drivers/dri/radeon/radeon_span.c +++ b/src/mesa/drivers/dri/radeon/radeon_span.c @@ -441,13 +441,6 @@ static void radeonSpanRenderStart(GLcontext * ctx) radeon_firevertices(rmesa); - for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) { - if (ctx->Texture.Unit[i]._ReallyEnabled) - ctx->Driver.MapTexture(ctx, ctx->Texture.Unit[i]._Current); - } - - radeon_map_unmap_buffers(ctx, 1); - /* The locking and wait for idle should really only be needed in classic mode. * In a future memory manager based implementation, this should become * unnecessary due to the fact that mapping our buffers, textures, etc. @@ -455,6 +448,16 @@ static void radeonSpanRenderStart(GLcontext * ctx) * be waited on. */ LOCK_HARDWARE(rmesa); radeonWaitForIdleLocked(rmesa); + + for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) { + if (ctx->Texture.Unit[i]._ReallyEnabled) + ctx->Driver.MapTexture(ctx, ctx->Texture.Unit[i]._Current); + } + + radeon_map_unmap_buffers(ctx, 1); + + + } static void radeonSpanRenderFinish(GLcontext * ctx) -- cgit v1.2.3