I've managed to implement OpenGL Debug Contexts (awesome, finally!) and most things seem all good and well, but I'm seeing a performance warning that I'm unable to find good information on.
[ 0.0330 - 388.6340] OpenGL Version: 4.2.0 Quadro 600/PCIe/SSE2 NVIDIA Corporation
[ 0.0000 - 549.1920] OpenGL: Program/shader state performance warning: Fragment Shader is going to be recompiled because the shader key based on GL state mismatches. [source=API type=PERFORMANCE severity=MEDIUM id=131218]
I do understand that it has got something to do with the OpenGL state being change since the last time I compiled the shader(s).
What we have is four shaders that are running on a texture that is shared between the contexts, and the error information only shows up after a new context has been created. So perhaps the context creation alters the state of the OpenGL state machine. Is it possible that it's even impossible to work around it, because each context starts with its own "clean" state machine?
It's probably not a big deal since it only occurs at context creation, but we're running many contexts (at least up to 15 of them at the same time) so it would be interesting to see if I'm able to fix the warning and get rid of it once and for all.