diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2010-04-22 08:34:42 -0400 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2010-05-03 11:48:10 -0400 |
commit | d233c5b75e93cae503526eb9e88d42fbdf39ab74 (patch) | |
tree | 6b3c342e0c5473497378f89db1a20a3f86f8add6 | |
parent | df4d6bcbe8c9e6027c27e38731485eb46ad9a942 (diff) |
main: Report GL_SHADING_LANGUAGE_VERSION according to API
-rw-r--r-- | src/mesa/es/main/specials_es2.c | 2 | ||||
-rw-r--r-- | src/mesa/main/getstring.c | 37 |
2 files changed, 27 insertions, 12 deletions
diff --git a/src/mesa/es/main/specials_es2.c b/src/mesa/es/main/specials_es2.c index 895aba1705..6f3dd6b08d 100644 --- a/src/mesa/es/main/specials_es2.c +++ b/src/mesa/es/main/specials_es2.c @@ -124,8 +124,6 @@ const GLubyte * GLAPIENTRY _es_GetString(GLenum name) { switch (name) { - case GL_SHADING_LANGUAGE_VERSION: - return (const GLubyte *) "OpenGL ES GLSL ES 1.0.16"; case GL_EXTENSIONS: return compute_es_extensions(); default: diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c index 51dd5f7795..e3a60fa6eb 100644 --- a/src/mesa/main/getstring.c +++ b/src/mesa/main/getstring.c @@ -30,6 +30,30 @@ #include "enums.h" #include "extensions.h" +static const GLubyte * +shading_laguage_version(GLcontext *ctx) +{ + switch (ctx->API) { +#if FEATURE_ARB_shading_language_100 + case API_OPENGL: + if (ctx->Extensions.ARB_shading_language_120) + return (const GLubyte *) "1.20"; + else if (ctx->Extensions.ARB_shading_language_100) + return (const GLubyte *) "1.10"; + goto error; +#endif + + case API_OPENGLES2: + return (const GLubyte *) "OpenGL ES GLSL ES 1.0.16"; + + case API_OPENGLES: + default: + error: + _mesa_error( ctx, GL_INVALID_ENUM, "glGetString" ); + return (const GLubyte *) 0; + } +} + /** * Query string-valued state. The return value should _not_ be freed by @@ -74,13 +98,9 @@ _mesa_GetString( GLenum name ) if (!ctx->Extensions.String) ctx->Extensions.String = _mesa_make_extension_string(ctx); return (const GLubyte *) ctx->Extensions.String; -#if FEATURE_ARB_shading_language_100 - case GL_SHADING_LANGUAGE_VERSION_ARB: - if (ctx->Extensions.ARB_shading_language_120) - return (const GLubyte *) "1.20"; - else if (ctx->Extensions.ARB_shading_language_100) - return (const GLubyte *) "1.10"; - goto error; +#if FEATURE_ARB_shading_language_100 || FEATURE_ES2 + case GL_SHADING_LANGUAGE_VERSION: + return shading_laguage_version(ctx); #endif #if FEATURE_NV_fragment_program || FEATURE_ARB_fragment_program || \ FEATURE_NV_vertex_program || FEATURE_ARB_vertex_program @@ -93,9 +113,6 @@ _mesa_GetString( GLenum name ) } /* FALL-THROUGH */ #endif -#if FEATURE_ARB_shading_language_100 - error: -#endif default: _mesa_error( ctx, GL_INVALID_ENUM, "glGetString" ); return (const GLubyte *) 0; |