Simple question, what is the meaning of Compatibility Profile Context ? It’s something you might see when calling glGetString(GL_VERSION) for AMD cards. Compatibility to what? forward? backward?
If I happen to be running an older OpenGL program that uses immediate mode functions only, should I be worried that it might crash?
OpenGL 3.0 deprecated many features, e.g. the fixed-function pipeline, glBegin/glEnd, etc. 3.1 removed these features altogether. 3.2 introduced two distinct profiles: the core profile (which doesn’t include the deprecated features) and the compatibility profile (which includes them).
Code written for OpenGL 1.x and 2.x should work fine with a 3.2+ compatibility profile. It won’t work with a 3.2+ core profile. The online reference pages for OpenGL 4 only describe the core profile. If a function isn’t listed there, it isn’t available in the core profile.
Note that the compatibility profile isn’t available on all platforms. In particular MacOS doesn’t have it; you have a choice between OpenGL 2.1 and OpenGL 3/4 core profile. So if you want to use 3+ features in code which should run on a Mac, you need to use the core profile.
None of this should matter if you’re running legacy (OpenGL 1/2) code.
I wouldn’t be asking for info if that was possible. AMD Drivers have always been flaky, and I don’t trust them enough to maintain old functions for the future.