[Mesa-users] 9.1.5 ES3 context only supports GLSL ES 1.00 but claims 3.00

org.mesa3d.mesa-users at io7m.com org.mesa3d.mesa-users at io7m.com
Tue Jul 30 13:58:54 PDT 2013


Hello.

The ES3 context in 9.1.5 claims to support GLSL ES 3.0, but actually only
supports ES 1.00. This is quite irritating behaviour for anyone that, for
example, is generating shaders and needs to generate GLSL source appropriate
to the currently running OpenGL version.

Is it possible to get glGetString(GL_SHADING_LANGUAGE_VERSION) to be honest?
I'd rather not add in any hacks to fall back to GLSL ES 1.00 if the renderer
is Mesa, as these hacks tend to go out of date fast...

http://waste.io7m.com/2013/07/18/es2_base.c
http://waste.io7m.com/2013/07/30/version.c

$ cc -W -Wall -pedantic -std=c90 -o es2_base.o -c es2_base.c
$ cc -W -Wall -pedantic -std=c90 -o version.o -c version.c
$ cc -o version es2_base.o version.o -lEGL -lGL -lX11
$ ./version 
EGL_VERSION: 1.4 (Gallium)
EGL_VENDOR: Mesa Project
EGL_CLIENT_APIS: OpenGL OpenGL_ES OpenGL_ES2 
GL_VERSION: OpenGL ES 3.0 Mesa 9.1.5
GL_RENDERER: Gallium 0.4 on AMD RV730
GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.0

However:

#version 300
void main (void)
{
  gl_Position = vec4(1, 2, 3, 1);
}

Results in:

0:2(10): error: GLSL ES 3.00 is not supported. Supported versions are: 1.00 ES

M


More information about the mesa-users mailing list