summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/version.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2014-08-03 05:17:08 +0200
committerMarek Olšák <marek.olsak@amd.com>2014-08-11 21:53:57 +0200
commit537cbb7e1a06c55260602004a6706f250b0eaf32 (patch)
treef6ff7125fddb0954fbce0c990c12a55b7703b593 /src/mesa/main/version.c
parentee9a2b1ae97beb20eec2d4fef1307ab57cad9d3a (diff)
downloadexternal_mesa3d-537cbb7e1a06c55260602004a6706f250b0eaf32.zip
external_mesa3d-537cbb7e1a06c55260602004a6706f250b0eaf32.tar.gz
external_mesa3d-537cbb7e1a06c55260602004a6706f250b0eaf32.tar.bz2
mesa: add a context-independent variant of _mesa_override_gl_version
v2: changed GLboolean -> bool Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Diffstat (limited to 'src/mesa/main/version.c')
-rw-r--r--src/mesa/main/version.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index 7621144..34152df 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -124,8 +124,9 @@ create_version_string(struct gl_context *ctx, const char *prefix)
* 3.1: select a Core profile with GL version 3.1
* 3.1FC: select a Core+Forward Compatible profile with GL version 3.1
*/
-void
-_mesa_override_gl_version(struct gl_context *ctx)
+bool
+_mesa_override_gl_version_contextless(struct gl_constants *consts,
+ gl_api *apiOut, GLuint *versionOut)
{
int version;
GLboolean fwd_context;
@@ -133,15 +134,25 @@ _mesa_override_gl_version(struct gl_context *ctx)
get_gl_override(&version, &fwd_context);
if (version > 0) {
- ctx->Version = version;
+ *versionOut = version;
if (version >= 30 && fwd_context) {
- ctx->API = API_OPENGL_CORE;
- ctx->Const.ContextFlags |= GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT;
+ *apiOut = API_OPENGL_CORE;
+ consts->ContextFlags |= GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT;
} else if (version >= 31) {
- ctx->API = API_OPENGL_CORE;
+ *apiOut = API_OPENGL_CORE;
} else {
- ctx->API = API_OPENGL_COMPAT;
+ *apiOut = API_OPENGL_COMPAT;
}
+ return GL_TRUE;
+ }
+ return GL_FALSE;
+}
+
+void
+_mesa_override_gl_version(struct gl_context *ctx)
+{
+ if (_mesa_override_gl_version_contextless(&ctx->Const, &ctx->API,
+ &ctx->Version)) {
create_version_string(ctx, "");
}
}