diff -up mesa-20081001/src/mesa/drivers/dri/i915/i915_context.c.readpixels mesa-20081001/src/mesa/drivers/dri/i915/i915_context.c diff -up mesa-20081001/src/mesa/drivers/dri/i915/intel_pixel_read.c.readpixels mesa-20081001/src/mesa/drivers/dri/i915/intel_pixel_read.c --- mesa-20081001/src/mesa/drivers/dri/i915/intel_pixel_read.c.readpixels 2008-11-01 17:51:32.000000000 -0400 +++ mesa-20081001/src/mesa/drivers/dri/i915/intel_pixel_read.c 2008-11-01 17:56:52.000000000 -0400 @@ -302,5 +302,6 @@ intelReadPixels(GLcontext * ctx, if (INTEL_DEBUG & DEBUG_PIXEL) _mesa_printf("%s: fallback to swrast\n", __FUNCTION__); + intelFinish(ctx); _swrast_ReadPixels(ctx, x, y, width, height, format, type, pack, pixels); }