diff options
author | Kristian Høgsberg <[email protected]> | 2010-04-22 08:34:42 -0400 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2010-04-22 12:42:23 -0400 |
commit | 04bf868ad9f0034ce7b726eadd2ffac346441a68 (patch) | |
tree | 5bc16b6ceca04a5cccf5775300c894a6dd32354b /src | |
parent | 29107d4e07144f41614f053aa1fc49ccf225fedf (diff) |
main: Report GL_SHADING_LANGUAGE_VERSION according to API
Diffstat (limited to 'src')
-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 24fecb837fd..ac499473a37 100644 --- a/src/mesa/es/main/specials_es2.c +++ b/src/mesa/es/main/specials_es2.c @@ -129,8 +129,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 51dd5f77957..e3a60fa6eb5 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; |