[Mesa-dev] [PATCH 04/13] mesa: call _mesa_make_extension_string only as needed

Emil Velikov emil.l.velikov at gmail.com
Tue Nov 7 11:54:44 UTC 2017


From: Emil Velikov <emil.velikov at collabora.com>

As of previous commit we removed the extension overrides from this
function.

Thus we no longer need to call it during MakeCurrent, so we can
construct the extensions string when needed - _mesa_GetString.

This commit effectively reverts a879d14ecf8 ("mesa: initialize extension
string when context is first bound")

Cc: Brian Paul <brianp at vmware.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
 src/mesa/main/context.c   | 2 --
 src/mesa/main/getstring.c | 2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 6d24b93c192..31aff0500f5 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1576,8 +1576,6 @@ handle_first_current(struct gl_context *ctx)
       return;
    }
 
-   ctx->Extensions.String = _mesa_make_extension_string(ctx);
-
    check_context_limits(ctx);
 
    /* According to GL_MESA_configless_context the default value of
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c
index 4c805ca4d51..931f6a476cb 100644
--- a/src/mesa/main/getstring.c
+++ b/src/mesa/main/getstring.c
@@ -143,6 +143,8 @@ _mesa_GetString( GLenum name )
             _mesa_error(ctx, GL_INVALID_ENUM, "glGetString(GL_EXTENSIONS)");
             return (const GLubyte *) 0;
          }
+         if (!ctx->Extensions.String)
+            ctx->Extensions.String = _mesa_make_extension_string(ctx);
          return (const GLubyte *) ctx->Extensions.String;
       case GL_SHADING_LANGUAGE_VERSION:
          if (ctx->API == API_OPENGLES)
-- 
2.14.1



More information about the mesa-dev mailing list