Glshader with GLSL version #330

Hi,

My custom vertex and fragment shaders worked fine in 1.22.* and before. Recently we started to upgrade GStreamer to 1.24.*, e.g. 1.24.8.

The “glshader” element complains with the error:

vertex shader compilation failed:0(2) : error C0201: unsupported version 330

The same host environment (Ubuntu, Nvidia driver etc.). GStreamer 1.22.12 works fine but failed on 1.24.8.

How to reproduce

Made a simple script at: GitHub - yuyou/gstreamer_opengl_shader
and run it against different GStreamer versions.

Thanks.

Found out (answer my own question).

The fix to make it work is to change

#version 330
to
#version 330 core

But it is still a bit mysterious why the old GLSL version syntax works on older GStreamers.