Tuesday, February 1, 2022

GLSL 3.10 doesn't support core profile

Just did an upgrade on my Fedora system, something seems not good after the upgrade. The shader program was not able to compile. It shows following error:
error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
I have no clue what this message trying tell. Make a quick check on my program to see what is the current OpenGL version running on this system. And I got this:
Supported GL version: 3.1 Mesa 21.1.8
Supported GLEW version: 2.1.0
Check with OpenGL wiki page, the supported GLSL version in OpenGL 3.1 is 1.4. Looking at my shader source file, it shows this:
#version 330 core
this was the first thing I learn in GLSL in my first day, I have never try any other version before this. If this is not correct, what would be the correct one? I just make a try as follow:
#version 140 core
Then I got this error:
vertex shader compilation error: 0:1(10): error: illegal text following version number
Hmmm... A few hours later. I got this stackoverflow mention that the core and compatibility profile were introduce in OpenGL 3.2, thus the one installed in my system now doesn't support that one. That means core never exists in GLSL version 1.4, just as shown below:
#version 140