diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index c2235af0aac..2e796da960d 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -2905,6 +2905,7 @@ static const __DRIextension *kopper_swrast_loader_extensions[] = { &kopper_swrast_loader_extension.base, &image_lookup_extension.base, &kopper_loader_extension.base, + &use_invalidate.base, NULL, }; diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index d5223f2eb19..ba9a4455b7d 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -1647,6 +1647,14 @@ static const __DRIkopperLoaderExtension kopper_loader_extension = { .SetSurfaceCreateInfo = kopperSetSurfaceCreateInfo, }; +static const __DRIextension *kopper_loader_extensions[] = { + &swrast_loader_extension.base, + &image_lookup_extension.base, + &kopper_loader_extension.base, + &use_invalidate.base, + NULL, +}; + static const __DRIextension *swrast_loader_extensions[] = { &swrast_loader_extension.base, &image_lookup_extension.base, @@ -1818,7 +1826,9 @@ dri2_initialize_x11_swrast(_EGLDisplay *disp) if (!dri2_load_driver(disp)) goto cleanup; - if (check_xshm(dri2_dpy)) { + if (disp->Options.Zink && !disp->Options.ForceSoftware) { + dri2_dpy->loader_extensions = kopper_loader_extensions; + } else if (check_xshm(dri2_dpy)) { dri2_dpy->loader_extensions = swrast_loader_shm_extensions; } else { dri2_dpy->loader_extensions = swrast_loader_extensions;