diff options
author | Marek Olšák <[email protected]> | 2014-08-03 05:17:08 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-08-11 21:53:57 +0200 |
commit | 537cbb7e1a06c55260602004a6706f250b0eaf32 (patch) | |
tree | f6ff7125fddb0954fbce0c990c12a55b7703b593 | |
parent | ee9a2b1ae97beb20eec2d4fef1307ab57cad9d3a (diff) |
mesa: add a context-independent variant of _mesa_override_gl_version
v2: changed GLboolean -> bool
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
-rw-r--r-- | src/mesa/main/version.c | 25 | ||||
-rw-r--r-- | src/mesa/main/version.h | 8 |
2 files changed, 23 insertions, 10 deletions
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index 7621144c469..34152dfdb6f 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, ""); } } diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 42eada99bf8..15bd6e3d8c8 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -27,14 +27,16 @@ #ifndef VERSION_H #define VERSION_H - -struct gl_context; -struct gl_constants; +#include "mtypes.h" extern void _mesa_compute_version(struct gl_context *ctx); +extern bool +_mesa_override_gl_version_contextless(struct gl_constants *consts, + gl_api *apiOut, GLuint *versionOut); + extern void _mesa_override_gl_version(struct gl_context *ctx); |