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