Intel and shared contexts

I have a windowed program with multiple shared contexts in windows that are created and destroyed dynamically. It is not possible to use a fixed number of contexts. When I call wgldeletecontext on any context, all the other contexts become unrenderable, just showing whatever pixels were on them last. Everything works fine on an nvidia card.

I can get around this problem by freeing the temporary windows, but never calling wgldeletecontext, if Intel hardware is detected. I was just wondering if anyone else had anything relevant to add to this? Is this a known issue?

I’ve heard bad things about sharing OpenGL contexts using Intel drivers. Our app shares contexts, and using Intel drivers tends to result in random black windows after a short while. We recycle our unused GL contexts for new drawables rather than delete them, so I haven’t seen the exact behaviour you’re seeing, but it could be related. This also works correctly on Nvidia and AMD cards.