From: Marek Olšák <marek.ol...@amd.com> --- docs/envvars.html | 3 ++- src/mesa/main/version.c | 16 +++++----------- 2 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/docs/envvars.html b/docs/envvars.html index ea42a50..3ef3ab1 100644 --- a/docs/envvars.html +++ b/docs/envvars.html @@ -92,22 +92,23 @@ glGetString(GL_VERSION) and possibly the GL API type. <li> FC is an optional suffix that indicates a forward compatible context. This is only valid for versions >= 3.0. <li> GL versions < 3.0 are set to a compatibility (non-Core) profile <li> GL versions = 3.0, see below <li> GL versions > 3.0 are set to a Core profile <li> Examples: 2.1, 3.0, 3.0FC, 3.1, 3.1FC <ul> <li> 2.1 - select a compatibility (non-Core) profile with GL version 2.1 <li> 3.0 - select a compatibility (non-Core) profile with GL version 3.0 <li> 3.0FC - select a Core+Forward Compatible profile with GL version 3.0 -<li> 3.1 - select a Core profile with GL version 3.1 +<li> 3.1 - keep the same profile and set GL version 3.1 <li> 3.1FC - select a Core+Forward Compatible profile with GL version 3.1 +<li> 3.1COMPAT - select a compatibility (non-Core) profile with GL version 3.1 </ul> <li> Mesa may not really implement all the features of the given version. (for developers only) </ul> <li>MESA_GLES_VERSION_OVERRIDE - changes the value returned by glGetString(GL_VERSION) for OpenGL ES. <ul> <li> The format should be MAJOR.MINOR <li> Examples: 2.0, 3.0, 3.1 <li> Mesa may not really implement all the features of the given version. diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index a280690..9ad49db 100644 --- a/src/mesa/main/version.c +++ b/src/mesa/main/version.c @@ -133,48 +133,42 @@ create_version_string(struct gl_context *ctx, const char *prefix) } } /** * Override the context's version and/or API type if the * environment variable MESA_GL_VERSION_OVERRIDE is set. * * Example uses of MESA_GL_VERSION_OVERRIDE: * * 2.1: select a compatibility (non-Core) profile with GL version 2.1 - * 3.0: select a compatibility (non-Core) profile with GL version 3.0 - * 3.0FC: select a Core+Forward Compatible profile with GL version 3.0 - * 3.1: select a Core profile with GL version 3.1 - * 3.1FC: select a Core+Forward Compatible profile with GL version 3.1 + * X.Y: override GL version to X.Y without changing the profile + * X.YFC: select a Core+Forward Compatible profile with GL version X.Y + * X.YCOMPAT: select a Compatibility profile with GL version X.Y */ bool _mesa_override_gl_version_contextless(struct gl_constants *consts, gl_api *apiOut, GLuint *versionOut) { int version; bool fwd_context, compat_context; get_gl_override(*apiOut, &version, &fwd_context, &compat_context); if (version > 0) { *versionOut = version; - /* If the API is a desktop API, adjust the context flags. We may also - * need to modify the API depending on the version. For example, Mesa - * does not support a GL 3.3 compatibility profile. - */ + /* Modify the API and context flags as needed. */ if (*apiOut == API_OPENGL_CORE || *apiOut == API_OPENGL_COMPAT) { if (version >= 30 && fwd_context) { *apiOut = API_OPENGL_CORE; consts->ContextFlags |= GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT; - } else if (version >= 31 && !compat_context) { - *apiOut = API_OPENGL_CORE; - } else { + } else if (compat_context) { *apiOut = API_OPENGL_COMPAT; } } return true; } return false; } void -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev