I call glCopyPixels a couple of times briefly on startup and then never again. The problem is that doing this makes all subsequent rendering much slower. If I never call glCopyPixels on startup then rendering remains fast thereafter.
It seems glCopyPixels is modifying the context in a way that permanently cripples later operations. The only possible cause I can see so far is:
src/mesa/main/drawpix.c: _mesa_CopyPixels:
/* We're not using the current vertex program, and the driver may install
* it's own. Note: this may dirty some state.
*/
_mesa_set_vp_override(ctx, GL_TRUE);
This seems to set a flag in the ctx which is never cleared.
I call glCopyPixels a couple of times briefly on startup and then never again. The problem is that doing this makes all subsequent rendering much slower. If I never call glCopyPixels on startup then rendering remains fast thereafter.
It seems glCopyPixels is modifying the context in a way that permanently cripples later operations. The only possible cause I can see so far is:
src/mesa/ main/drawpix. c: _mesa_CopyPixels: set_vp_ override( ctx, GL_TRUE);
/* We're not using the current vertex program, and the driver may install
* it's own. Note: this may dirty some state.
*/
_mesa_
This seems to set a flag in the ctx which is never cleared.
Using Mesa 8.0.2 in Ubuntu 12.04