The comment disagreed with the code, and nicely drew my eyes to what was going wrong. Bug #21774 (blender) Bug #21788 (readpix)tags/mesa_7_6_rc1
@@ -513,7 +513,7 @@ intel_flush(GLcontext *ctx, GLboolean needs_mi_flush) | |||
* each of N places that do rendering. This has worse performances, | |||
* but it is much easier to get correct. | |||
*/ | |||
if (intel->is_front_buffer_rendering) { | |||
if (!intel->is_front_buffer_rendering) { | |||
intel->front_buffer_dirty = GL_FALSE; | |||
} | |||
} |