Yes, the read buffer is GL_FRONT in this case. So I guess the slow-down is by design in Mesa. I'm going to work around it in compiz anyway. glCopyPixels should never be touched at all really.
P.S. _mesa_set_vp_override(ctx, GL_FALSE) does not clear NewState. Which is what I was concerned about:
Yes, the read buffer is GL_FRONT in this case. So I guess the slow-down is by design in Mesa. I'm going to work around it in compiz anyway. glCopyPixels should never be touched at all really.
P.S. _mesa_set_ vp_override( ctx, GL_FALSE) does not clear NewState. Which is what I was concerned about:
void vp_override( struct gl_context *ctx, GLboolean flag) gram._Overriden != flag) { >VertexProgram. _Overriden = flag;
_mesa_set_
{
if (ctx->VertexPro
ctx-
/* Set one of the bits which will trigger fragment program
* regeneration:
*/
ctx->NewState |= _NEW_PROGRAM;
}
}