mesa: initialize extension string when context is first bound
...instead of waiting until glGetString(GL_EXTENSIONS) is called.
This fixes a problem where the MESA_EXTENSION_OVERRIDE env var is
ignored if the app never calls glGetString(GL_EXTENSIONS).
NOTE: this is a candidate patch for the 7.8 branch.
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 0afd77d..f597b23 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1462,6 +1462,8 @@
if (newCtx->FirstTimeCurrent) {
_mesa_compute_version(newCtx);
+ newCtx->Extensions.String = _mesa_make_extension_string(newCtx);
+
check_context_limits(newCtx);
/* We can use this to help debug user's problems. Tell them to set
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c
index 54db579..7961ad7 100644
--- a/src/mesa/main/getstring.c
+++ b/src/mesa/main/getstring.c
@@ -95,8 +95,6 @@
case GL_VERSION:
return (const GLubyte *) ctx->VersionString;
case GL_EXTENSIONS:
- if (!ctx->Extensions.String)
- ctx->Extensions.String = _mesa_make_extension_string(ctx);
return (const GLubyte *) ctx->Extensions.String;
#if FEATURE_ARB_shading_language_100 || FEATURE_ES2
case GL_SHADING_LANGUAGE_VERSION: