summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2010-04-22 08:34:42 -0400
committerKristian Høgsberg <[email protected]>2010-04-22 12:42:23 -0400
commit04bf868ad9f0034ce7b726eadd2ffac346441a68 (patch)
tree5bc16b6ceca04a5cccf5775300c894a6dd32354b
parent29107d4e07144f41614f053aa1fc49ccf225fedf (diff)
main: Report GL_SHADING_LANGUAGE_VERSION according to API
-rw-r--r--src/mesa/es/main/specials_es2.c2
-rw-r--r--src/mesa/main/getstring.c37
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;