From 67674ad0dc68eb128e5f176f772d902931deb1de Mon Sep 17 00:00:00 2001 From: Mario Kleiner Date: Fri, 15 Dec 2017 23:04:54 +0100 Subject: [PATCH] dri/common: Add option to allow exposure of 10 bpc color configs. (v2) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Some clients may not like RGB10X2 and RGB10A2 fbconfigs and visuals. Add a new driconf option 'allow_rgb10_configs' to allow per application enable/disable. The option defaults to enabled. v2: Rename expose_rgb10_configs to allow_rgb10_configs, as suggested by Emil. Add comment to option parsing, to make sure it stays before the ->InitScreen(). Signed-off-by: Mario Kleiner Reviewed-by: Tapani Pälli Reviewed-by: Marek Olšák Signed-off-by: Marek Olšák --- src/mesa/drivers/dri/common/dri_util.c | 12 ++++++++---- src/util/xmlpool/t_options.h | 5 +++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index d504751c392..d4fba0b2747 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -55,6 +55,10 @@ const char __dri2ConfigOptions[] = DRI_CONF_SECTION_PERFORMANCE DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_DEF_INTERVAL_1) DRI_CONF_SECTION_END + + DRI_CONF_SECTION_MISCELLANEOUS + DRI_CONF_ALLOW_RGB10_CONFIGS("true") + DRI_CONF_SECTION_END DRI_CONF_END; /*****************************************************************/ @@ -144,6 +148,10 @@ driCreateNewScreen2(int scrn, int fd, psp->fd = fd; psp->myNum = scrn; + /* Option parsing before ->InitScreen(), as some options apply there. */ + driParseOptionInfo(&psp->optionInfo, __dri2ConfigOptions); + driParseConfigFiles(&psp->optionCache, &psp->optionInfo, psp->myNum, "dri2"); + *driver_configs = psp->driver->InitScreen(psp); if (*driver_configs == NULL) { free(psp); @@ -179,10 +187,6 @@ driCreateNewScreen2(int scrn, int fd, if (psp->max_gl_es2_version >= 30) psp->api_mask |= (1 << __DRI_API_GLES3); - driParseOptionInfo(&psp->optionInfo, __dri2ConfigOptions); - driParseConfigFiles(&psp->optionCache, &psp->optionInfo, psp->myNum, "dri2"); - - return psp; } diff --git a/src/util/xmlpool/t_options.h b/src/util/xmlpool/t_options.h index bd553085c86..5f377c9dcd5 100644 --- a/src/util/xmlpool/t_options.h +++ b/src/util/xmlpool/t_options.h @@ -379,6 +379,11 @@ DRI_CONF_OPT_BEGIN_B(glsl_zero_init, def) \ DRI_CONF_DESC(en,gettext("Force uninitialized variables to default to zero")) \ DRI_CONF_OPT_END +#define DRI_CONF_ALLOW_RGB10_CONFIGS(def) \ +DRI_CONF_OPT_BEGIN_B(allow_rgb10_configs, def) \ +DRI_CONF_DESC(en,gettext("Allow exposure of visuals and fbconfigs with rgb10a2 formats")) \ +DRI_CONF_OPT_END + /** * \brief Initialization configuration options */ -- 2.30.2