intel_extensions: Add ability to set GLSL version via environment
authorChad Versace <chad@chad-versace.us>
Thu, 7 Oct 2010 23:04:30 +0000 (16:04 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 11 Oct 2010 21:25:30 +0000 (14:25 -0700)
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>
src/mesa/drivers/dri/intel/intel_extensions.c

index 1a32026eb5aaf28ce117601c8712557031bf2250..8d38a28bb84952e5859e71b289a36fe1039e7bac 100644 (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);