mesa/st: add force_compat_profile option to driconfig

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Timothy Arceri 2018-09-12 10:52:06 +10:00
parent 7a992fcfa0
commit 64ec50d52f
3 changed files with 14 additions and 2 deletions

View file

@ -30,6 +30,7 @@ DRI_CONF_SECTION_DEBUG
DRI_CONF_FORCE_GLSL_ABS_SQRT("false")
DRI_CONF_GLSL_CORRECT_DERIVATIVES_AFTER_DISCARD("false")
DRI_CONF_ALLOW_GLSL_LAYOUT_QUALIFIER_ON_FUNCTION_PARAMETERS("false")
DRI_CONF_FORCE_COMPAT_PROFILE("false")
DRI_CONF_SECTION_END
DRI_CONF_SECTION_MISCELLANEOUS

View file

@ -62,6 +62,7 @@ dri_create_context(gl_api api, const struct gl_config * visual,
__DRIVER_CONTEXT_ATTRIB_RELEASE_BEHAVIOR;
const __DRIbackgroundCallableExtension *backgroundCallable =
screen->sPriv->dri2.backgroundCallable;
const struct driOptionCache *optionCache = &screen->dev->option_cache;
if (screen->has_reset_status_query) {
allowed_flags |= __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS;
@ -88,8 +89,13 @@ dri_create_context(gl_api api, const struct gl_config * visual,
break;
case API_OPENGL_COMPAT:
case API_OPENGL_CORE:
attribs.profile = api == API_OPENGL_COMPAT ? ST_PROFILE_DEFAULT
: ST_PROFILE_OPENGL_CORE;
if (driQueryOptionb(optionCache, "force_compat_profile")) {
attribs.profile = ST_PROFILE_DEFAULT;
} else {
attribs.profile = api == API_OPENGL_COMPAT ? ST_PROFILE_DEFAULT
: ST_PROFILE_OPENGL_CORE;
}
attribs.major = ctx_config->major_version;
attribs.minor = ctx_config->minor_version;

View file

@ -140,6 +140,11 @@ DRI_CONF_OPT_BEGIN_B(allow_glsl_layout_qualifier_on_function_parameters, def) \
DRI_CONF_DESC(en,gettext("Allow layout qualifiers on function parameters.")) \
DRI_CONF_OPT_END
#define DRI_CONF_FORCE_COMPAT_PROFILE(def) \
DRI_CONF_OPT_BEGIN_B(force_compat_profile, def) \
DRI_CONF_DESC(en,gettext("Force an OpenGL compatibility context")) \
DRI_CONF_OPT_END
/**
* \brief Image quality-related options
*/