title: Is OpenGL threadsafe for multiple threads with distinct contexts?
body: <p>I know that sharing a single context between threads is bad news. I know that I can safely create and use a context with an offscreen framebuffer on a secondary thread when nothing is happening with GL on the main thread.</p>
  
  <p>I haven't yet been able to find a definitive answer to the question of whether I can safely create two contexts on two different threads (say, a main thread drawing to the screen, and a secondary thread doing offscreen drawing work) and have them both making GL function calls simultaneously.</p>
  
  <p>In other words, as long as the contexts are different, can two threads "share" the C API and thus the GPU? Or is that inherently something that is unshareable? Or is this implementation-specific? </p>
  
  <p>Asking specifically for OpenGL ES on iOS, but it's probably a general GL question.</p>