diff options
Diffstat (limited to 'src/glx/dri3_glx.c')
-rw-r--r-- | src/glx/dri3_glx.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index 63474d0dca2..509160697f8 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -796,6 +796,7 @@ dri3_create_screen(int screen, struct glx_display * priv) struct glx_config *configs = NULL, *visuals = NULL; char *driverName, *deviceName, *tmp; int i; + unsigned char disable; psc = calloc(1, sizeof *psc); if (psc == NULL) @@ -934,13 +935,19 @@ dri3_create_screen(int screen, struct glx_display * priv) psp->waitForSBC = dri3_wait_for_sbc; psp->setSwapInterval = dri3_set_swap_interval; psp->getSwapInterval = dri3_get_swap_interval; - __glXEnableDirectExtension(&psc->base, "GLX_OML_sync_control"); + if (psc->config->configQueryb(psc->driScreen, + "glx_disable_oml_sync_control", + &disable) || !disable) + __glXEnableDirectExtension(&psc->base, "GLX_OML_sync_control"); psp->copySubBuffer = dri3_copy_sub_buffer; __glXEnableDirectExtension(&psc->base, "GLX_MESA_copy_sub_buffer"); psp->getBufferAge = dri3_get_buffer_age; - __glXEnableDirectExtension(&psc->base, "GLX_EXT_buffer_age"); + if (psc->config->configQueryb(psc->driScreen, + "glx_disable_ext_buffer_age", + &disable) || !disable) + __glXEnableDirectExtension(&psc->base, "GLX_EXT_buffer_age"); free(driverName); free(deviceName); |