intel_extensions: Add ability to set GLSL version via environment

Add ability to set the GLSL version used by the GLcontext by setting the
environment variable INTEL_GLSL_VERSION. For example,
    env INTEL_GLSL_VERSION=130 prog args
If the environment variable is missing, the GLSL versions defaults to 120.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Chad Versace 2010-10-07 16:04:30 -07:00 committed by Ian Romanick
parent 603741a86d
commit a34817917b

View file

@ -196,6 +196,22 @@ static const struct dri_extension fragment_shader_extensions[] = {
{ NULL, NULL }
};
/**
* \brief Get GLSL version from the environment.
*
* If the environment variable INTEL_GLSL_VERSION is set, convert its value
* to an integer and return it. Otherwise, return the default version, 120.
*/
static GLuint
get_glsl_version()
{
const char * s = getenv("INTEL_GLSL_VERSION");
if (s == NULL)
return 120;
else
return (GLuint) atoi(s);
}
/**
* Initializes potential list of extensions if ctx == NULL, or actually enables
* extensions for a context.
@ -208,7 +224,8 @@ intelInitExtensions(GLcontext *ctx)
driInitExtensions(ctx, card_extensions, GL_FALSE);
_mesa_map_function_array(GL_VERSION_2_1_functions);
ctx->Const.GLSLVersion = 120;
ctx->Const.GLSLVersion = get_glsl_version();
if (intel->gen >= 5)
driInitExtensions(ctx, ironlake_extensions, GL_FALSE);