From 1610841f0f564c628bb584f84d1a4fa297e48952 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Thu, 27 Mar 2025 11:45:31 +0100 Subject: [PATCH] egl/x11: Fix swap interval setup Calling dri2_x11_setup_swap_interval with swap_available = false sets the min/max/default swap interval values to zero. EGL_MIN/MAX_SWAP_INTERVAL is always reported as 0 and the interval value set by eglSwapInterval gets clamped to 0. Set swap_available to true before calling dri2_x11_setup_swap_interval, as was done before. Fixes: c00701c83ab ("egl/x11: unify swrast/kopper/dri3 paths a bit") Reviewed-By: Mike Blumenkrantz Part-of: --- src/egl/drivers/dri2/platform_x11.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 399eeb1d456..48f14f29938 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -1780,14 +1780,13 @@ platform_x11_finalize(_EGLDisplay *disp) dri2_setup_screen(disp); if (!dri2_dpy->swrast) { - dri2_x11_setup_swap_interval(disp); - #ifdef HAVE_WAYLAND_PLATFORM if (dri2_dpy->kopper) dri2_dpy->device_name = strdup("zink"); #endif dri2_dpy->swap_available = true; + dri2_x11_setup_swap_interval(disp); if (dri2_dpy->fd_render_gpu == dri2_dpy->fd_display_gpu) disp->Extensions.KHR_image_pixmap = EGL_TRUE; disp->Extensions.NOK_texture_from_pixmap = EGL_TRUE;