I'm doing an iOS app where I have a black box rendering library that has its own EAGLContext and framebuffer and does it's own rendering. I also need to do additional rendering outside the black box lib.
Up until now I've been doing that by carefully reading, setting and restoring all the pertinent states each frame. This works, but is fiddly and hard to maintain. Then it occurred to me, "Why not have a separate EAGLContext instead?"
I've implemented a second context, so now I'm switching contexts instead of setting/restoring all the states each frame. Only problem is I'm getting lots of visual artifacts and the performance went from a rock solid 30 FPS to about 5 FPS...
So apparently I'm not meant to render to the same framebuffer from several contexts. Can anyone confirm this?