main: Report GL_SHADING_LANGUAGE_VERSION according to API
[mesa.git] / src / mesa / es / main / specials_es2.c
index ef8c5816187fd472750aee69318d17d3b76b9bf0..ac499473a3778ed41b0b1636c3ac4bc7b381342f 100644 (file)
 const GLubyte * GLAPIENTRY _es_GetString(GLenum name);
 
 
-static const GLubyte *
-compute_es_version(void)
-{
-   GET_CURRENT_CONTEXT(ctx);
-   static const char es_2_0[] = "OpenGL ES 2.0";
-   /* OpenGL ES 2.0 is derived from OpenGL 2.0 */
-   const GLboolean ver_2_0 = (ctx->Extensions.ARB_multisample &&
-                              ctx->Extensions.ARB_multitexture &&
-                              ctx->Extensions.ARB_texture_compression &&
-                              ctx->Extensions.ARB_texture_cube_map &&
-                              ctx->Extensions.ARB_texture_mirrored_repeat &&
-                              ctx->Extensions.EXT_blend_color &&
-                              ctx->Extensions.EXT_blend_func_separate &&
-                              ctx->Extensions.EXT_blend_minmax &&
-                              ctx->Extensions.EXT_blend_subtract &&
-                              ctx->Extensions.EXT_stencil_wrap &&
-                              ctx->Extensions.ARB_vertex_buffer_object &&
-                              ctx->Extensions.ARB_shader_objects &&
-                              ctx->Extensions.ARB_vertex_shader &&
-                              ctx->Extensions.ARB_fragment_shader &&
-                              ctx->Extensions.ARB_texture_non_power_of_two &&
-                              ctx->Extensions.EXT_blend_equation_separate);
-   if (!ver_2_0)
-      _mesa_problem(ctx, "Incomplete OpenGL ES 2.0 support.");
-   return (const GLubyte *) es_2_0;
-}
-
-
 static size_t
 append_extension(char **str, const char *ext)
 {
@@ -86,21 +58,15 @@ make_extension_string(const GLcontext *ctx, char *str)
 {
    size_t len = 0;
 
-   /* Core additions */
-   len += append_extension(&str, "GL_OES_single_precision");
-
-   /* Required extensions */
    len += append_extension(&str, "GL_OES_compressed_paletted_texture");
 
    if (ctx->Extensions.ARB_framebuffer_object) {
-      len += append_extension(&str, "GL_OES_framebuffer_object");
       len += append_extension(&str, "GL_OES_depth24");
       len += append_extension(&str, "GL_OES_depth32");
       len += append_extension(&str, "GL_OES_fbo_render_mipmap");
       len += append_extension(&str, "GL_OES_rgb8_rgba8");
       len += append_extension(&str, "GL_OES_stencil1");
       len += append_extension(&str, "GL_OES_stencil4");
-      len += append_extension(&str, "GL_OES_stencil8");
    }
 
    if (ctx->Extensions.EXT_vertex_array)
@@ -123,9 +89,18 @@ make_extension_string(const GLcontext *ctx, char *str)
    if (ctx->Extensions.ARB_fragment_shader)
       len += append_extension(&str, "GL_OES_standard_derivatives");
 
+   if (ctx->Extensions.EXT_texture_compression_s3tc)
+      len += append_extension(&str, "GL_EXT_texture_compression_dxt1");
+   if (ctx->Extensions.EXT_blend_minmax)
+      len += append_extension(&str, "GL_EXT_blend_minmax");
    if (ctx->Extensions.EXT_multi_draw_arrays)
       len += append_extension(&str, "GL_EXT_multi_draw_arrays");
 
+#if FEATURE_OES_EGL_image
+   if (ctx->Extensions.OES_EGL_image)
+      len += append_extension(&str, "GL_OES_EGL_image");
+#endif
+
    return len;
 }
 
@@ -140,7 +115,7 @@ compute_es_extensions(void)
       unsigned int len;
 
       len = make_extension_string(ctx, NULL);
-      s = (char *) _mesa_malloc(len + 1);
+      s = (char *) malloc(len + 1);
       if (!s)
          return NULL;
       make_extension_string(ctx, s);
@@ -154,23 +129,9 @@ const GLubyte * GLAPIENTRY
 _es_GetString(GLenum name)
 {
    switch (name) {
-   case GL_VERSION:
-      return compute_es_version();
-   case GL_SHADING_LANGUAGE_VERSION:
-      return (const GLubyte *) "OpenGL ES GLSL ES 1.0.16";
    case GL_EXTENSIONS:
       return compute_es_extensions();
    default:
       return _mesa_GetString(name);
    }
 }
-
-
-void
-_mesa_initialize_context_extra(GLcontext *ctx)
-{
-   ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE;
-   ctx->VertexProgram._MaintainTnlProgram = GL_TRUE;
-
-   ctx->Point.PointSprite = GL_TRUE;  /* always on for ES 2.x */
-}