diff options
author | Marek Olšák <[email protected]> | 2018-03-06 18:27:30 -0500 |
---|---|---|
committer | Andres Gomez <[email protected]> | 2018-04-09 13:47:40 +0300 |
commit | 806ab42c0f53064a774f002e311cfbb7ff10a667 (patch) | |
tree | ffaf689800de1578acd391b6422c3e45b2b835d2 /src/mesa | |
parent | c6067fcd0747c85dee333b9b5726fc7fec998c1b (diff) |
mesa: simplify MESA_GL_VERSION_OVERRIDE behavior of API override
v2:
- Provide a correct explanation on the envvars documentation (Ian).
- Provide a more correct explanation on the function comments (Andres).
v3:
- Homogenize documentation and inline comments (Emil).
- Correct a typo (Emil).
Fixes: 2599b92eb97 ("mesa: allow forcing >=3.1 compatibility contexts
with MESA_GL_VERSION_OVERRIDE")
Cc: Jordan Justen <[email protected]>
Cc: Ian Romanick <[email protected]>
Cc: Eric Engestrom <[email protected]>
Cc: Emil Velikov <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/version.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index a28069054d3..3b51b1e7a36 100644 --- a/src/mesa/main/version.c +++ b/src/mesa/main/version.c @@ -139,11 +139,15 @@ create_version_string(struct gl_context *ctx, const char *prefix) * * 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 + * 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 GL version 3.1 with GL_ARB_compatibility enabled per the driver default. + * 3.1FC: select GL version 3.1 with forward compatibility and GL_ARB_compatibility disabled. + * 3.1COMPAT: select GL version 3.1 with GL_ARB_compatibility enabled. + * 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, @@ -157,17 +161,12 @@ _mesa_override_gl_version_contextless(struct gl_constants *consts, 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; } } |