driconf: add a way to override GLX extensions

Support for DRI1 is not implemented, but who still uses that?

v2:
 - Add the option to the list of new features
 - Drop overriding the Xorg-exposed extensions

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Martin Peres <martin.peres@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7212>
This commit is contained in:
Martin Peres
2020-10-15 18:29:45 +03:00
parent 97f6d5e3a9
commit 7eedc79658
6 changed files with 22 additions and 0 deletions

View File

@@ -11,3 +11,4 @@ VK_KHR_copy_commands2 on RADV
VK_KHR_shader_terminate_invocation on RADV
NGG GS support in ACO
VK_KHR_shader_terminate_invocation on ANV
driconf: add glx_extension_override

View File

@@ -37,6 +37,7 @@ DRI_CONF_SECTION_DEBUG
DRI_CONF_FORCE_GL_NAMES_REUSE(false)
DRI_CONF_FORCE_GL_VENDOR()
DRI_CONF_OVERRIDE_VRAM_SIZE()
DRI_CONF_GLX_EXTENSION_OVERRIDE()
DRI_CONF_SECTION_END
DRI_CONF_SECTION_MISCELLANEOUS

View File

@@ -1362,6 +1362,11 @@ dri2CreateScreen(int screen, struct glx_display * priv)
&disable) || !disable)
__glXEnableDirectExtension(&psc->base, "GLX_SGI_video_sync");
if (psc->config->base.version > 1 &&
psc->config->configQuerys(psc->driScreen, "glx_extension_override",
&tmp) == 0)
__glXParseExtensionOverride(&psc->base, tmp);
/* DRI2 supports SubBuffer through DRI2CopyRegion, so it's always
* available.*/
psp->copySubBuffer = dri2CopySubBuffer;

View File

@@ -998,6 +998,11 @@ dri3_create_screen(int screen, struct glx_display * priv)
&disable) || !disable)
__glXEnableDirectExtension(&psc->base, "GLX_EXT_buffer_age");
if (psc->config->base.version > 1 &&
psc->config->configQuerys(psc->driScreen, "glx_extension_override",
&tmp) == 0)
__glXParseExtensionOverride(&psc->base, tmp);
free(driverName);
tmp = getenv("LIBGL_SHOW_FPS");

View File

@@ -52,6 +52,10 @@
#include "main/macros.h"
driOptionDescription __dri2ConfigOptions[] = {
DRI_CONF_SECTION_DEBUG
DRI_CONF_GLX_EXTENSION_OVERRIDE()
DRI_CONF_SECTION_END
DRI_CONF_SECTION_PERFORMANCE
DRI_CONF_VBLANK_MODE(DRI_CONF_VBLANK_DEF_INTERVAL_1)
DRI_CONF_SECTION_END

View File

@@ -217,6 +217,12 @@
#define DRI_CONF_FORCE_GL_NAMES_REUSE(def) \
DRI_CONF_OPT_B(force_gl_names_reuse, def, "Force GL names reuse")
#define DRI_CONF_GLX_EXTENSION_OVERRIDE(def) \
DRI_CONF_OPT_S(glx_extension_override, def, \
"Allow enabling/disabling a list of GLX extensions")
/**
* \brief Image quality-related options
*/