OpenGL framebuffer objects can’t be shared between rendering contexts
(Title is sort of a spoiler for the content of this post) So I spent about an hour today debugging why a particular user interface element was generating OpenGL errors when I tried to draw it. It was this: