From aae62e5d292ffeb7452d722c4cc61cc8a40d0b8d Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 27 Aug 2024 09:56:02 -0400 Subject: [PATCH] egl: unify LIBGL_KOPPER_DRI2 checks Part-of: --- src/egl/drivers/dri2/egl_dri2.c | 1 + src/egl/drivers/dri2/egl_dri2.h | 1 + src/egl/drivers/dri2/platform_x11.c | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 4ba3d1ee64e..fa463c6a113 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -591,6 +591,7 @@ dri2_load_driver(_EGLDisplay *disp) struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); dri2_dpy->kopper = disp->Options.Zink && !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false); + dri2_dpy->kopper_without_modifiers = dri2_dpy->kopper && debug_get_bool_option("LIBGL_KOPPER_DRI2", false); dri2_dpy->swrast = (disp->Options.ForceSoftware && !dri2_dpy->kopper) || !dri2_dpy->driver_name || strstr(dri2_dpy->driver_name, "swrast"); dri2_dpy->swrast_not_kms = dri2_dpy->swrast && (!dri2_dpy->driver_name || strcmp(dri2_dpy->driver_name, "kms_swrast")); diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h index fdfa31e477c..9b3527a394e 100644 --- a/src/egl/drivers/dri2/egl_dri2.h +++ b/src/egl/drivers/dri2/egl_dri2.h @@ -258,6 +258,7 @@ struct dri2_egl_display { bool own_device; bool invalidate_available; bool kopper; + bool kopper_without_modifiers; bool swrast; bool swrast_not_kms; int min_swap_interval; diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 763e4e6f372..422ac2c96cf 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -1795,7 +1795,7 @@ dri2_x11_check_multibuffers(_EGLDisplay *disp) if (disp->Options.Zink && !disp->Options.ForceSoftware && !dri2_dpy->multibuffers_available && - !debug_get_bool_option("LIBGL_KOPPER_DRI2", false)) + !dri2_dpy->kopper_without_modifiers) return EGL_FALSE; #endif @@ -1820,7 +1820,7 @@ dri2_initialize_x11_swrast(_EGLDisplay *disp) #ifdef HAVE_DRI3 if (disp->Options.Zink && !debug_get_bool_option("LIBGL_DRI3_DISABLE", false) && - !debug_get_bool_option("LIBGL_KOPPER_DRI2", false)) + !dri2_dpy->kopper_without_modifiers) dri3_x11_connect(dri2_dpy, disp->Options.Zink, disp->Options.ForceSoftware); #endif if (!dri2_load_driver(disp))