summaryrefslogtreecommitdiff
path: root/src/mesa/main/version.c
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2010-09-10 10:31:06 +0800
committerChia-I Wu <olv@lunarg.com>2010-09-10 15:37:43 +0800
commit4531356817ec8383ac35932903773de67af92e37 (patch)
treebb9c6262af2ca8261db6b0d325622d122ef04c70 /src/mesa/main/version.c
parentfcae8ca57512f84c51b7445456aab7ec92a21254 (diff)
gallium: Add context profile support to st_api.
Add struct st_context_attribs to describe context profiles and attributes. Modify st_api::create_context to take the new struct instead of an st_visual. st_context_attribs can be used to support GLX_ARB_create_context_profile and GLX_EXT_create_context_es2_profile in the future. But the motivation for doing it now is to be able to replace ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2 by profiles. Having 3 st_api's to provide OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is not a sane abstraction, since all of them share glapi for current context/dispatch management.
Diffstat (limited to 'src/mesa/main/version.c')
-rw-r--r--src/mesa/main/version.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index d833a160e9..9e1f5f2a4f 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -260,11 +260,15 @@ compute_version_es2(GLcontext *ctx)
/**
* Set the context's VersionMajor, VersionMinor, VersionString fields.
- * This should only be called once as part of context initialization.
+ * This should only be called once as part of context initialization
+ * or to perform version check for GLX_ARB_create_context_profile.
*/
void
_mesa_compute_version(GLcontext *ctx)
{
+ if (ctx->VersionMajor)
+ return;
+
switch (ctx->API) {
case API_OPENGL:
compute_version(ctx);