Shared GL Context


I would like to ask where I can find some more detailed information about what exactly is shared between GL contexts created as shared ones (with glXCreateNewContext or wglShareLists). GLX spec speaks only about display lists and textures. Can I take for granted that at least VBOs are shared too?

Thanks for your answers

Textures, buffer objects, and renderbuffers are all shared. FBOs, VAOs, and sampler objects are not.

Just of curiosity - is there any official specification, or we just know that this is the way drivers usually work?

Yes, there is an official specification; it’s called “The OpenGL Graphics System: A Specification”. Appendix D talks about object sharing, and has a list of what is and is not shared. I missed a few objects in my list.