dri/common: Add option to allow exposure of 10 bpc color configs. (v2)
authorMario Kleiner <mario.kleiner.de@gmail.com>
Fri, 15 Dec 2017 22:04:54 +0000 (23:04 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 3 Jan 2018 21:57:56 +0000 (22:57 +0100)
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 <mario.kleiner.de@gmail.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/drivers/dri/common/dri_util.c
src/util/xmlpool/t_options.h

index d504751c3929ed3d308d849a638988843b3fcd29..d4fba0b2747d6763ccdf7b8fa2524f43162516de 100644 (file)
@@ -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;
 }
 
index bd553085c86a82f1d6b243b0497980dfd1025b40..5f377c9dcd5c504c5ebd263ba1dacdee969294a9 100644 (file)
@@ -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
  */