mesa/es: Validate glGetString pname in Mesa code rather than the ES wrapper

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Ian Romanick 2012-07-25 15:39:50 -07:00
parent 6a9b8f897a
commit c13f36ce4e
2 changed files with 12 additions and 15 deletions

View file

@ -855,14 +855,6 @@
<return type="const GLubyte *"/>
<param name="name" type="GLenum"/>
</proto>
<desc name="name">
<value name="GL_VENDOR"/>
<value name="GL_RENDERER"/>
<value name="GL_VERSION"/>
<value name="GL_EXTENSIONS"/>
<value name="GL_SHADING_LANGUAGE_VERSION" category="GLES2.0"/>
</desc>
</template>
<template name="GetTexEnv" direction="get">

View file

@ -129,23 +129,28 @@ _mesa_GetString( GLenum name )
return (const GLubyte *) ctx->Extensions.String;
#if FEATURE_ARB_shading_language_100 || FEATURE_ES2
case GL_SHADING_LANGUAGE_VERSION:
if (ctx->API == API_OPENGLES)
break;
return shading_language_version(ctx);
#endif
#if FEATURE_NV_fragment_program || FEATURE_ARB_fragment_program || \
FEATURE_NV_vertex_program || FEATURE_ARB_vertex_program
case GL_PROGRAM_ERROR_STRING_NV:
if (ctx->Extensions.NV_fragment_program ||
ctx->Extensions.ARB_fragment_program ||
ctx->Extensions.NV_vertex_program ||
ctx->Extensions.ARB_vertex_program) {
if (ctx->API == API_OPENGL &&
(ctx->Extensions.NV_fragment_program ||
ctx->Extensions.ARB_fragment_program ||
ctx->Extensions.NV_vertex_program ||
ctx->Extensions.ARB_vertex_program)) {
return (const GLubyte *) ctx->Program.ErrorString;
}
/* FALL-THROUGH */
break;
#endif
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glGetString" );
return (const GLubyte *) 0;
break;
}
_mesa_error( ctx, GL_INVALID_ENUM, "glGetString" );
return (const GLubyte *) 0;
}