From 19596910334261df67f10735a7fa559cc1994db2 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 13 Feb 2024 16:25:49 -0500 Subject: [PATCH] egl/wayland/kopper: actually call kopper swapbuffer functions this allows passing through the zsbuf discard flag Acked-by: Daniel Stone Part-of: --- src/egl/drivers/dri2/platform_wayland.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index fe6cda683bb..f3135353421 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -2521,10 +2521,17 @@ dri2_wl_kopper_swap_buffers_with_damage(_EGLDisplay *disp, _EGLSurface *draw, if (!dri2_surf->wl_win) return _eglError(EGL_BAD_NATIVE_WINDOW, "dri2_swap_buffers"); - if (n_rects) - dri2_dpy->core->swapBuffersWithDamage(dri2_surf->dri_drawable, n_rects, rects); - else - dri2_dpy->core->swapBuffers(dri2_surf->dri_drawable); + if (n_rects) { + if (dri2_dpy->kopper) + dri2_dpy->kopper->swapBuffersWithDamage(dri2_surf->dri_drawable, __DRI2_FLUSH_INVALIDATE_ANCILLARY, n_rects, rects); + else + dri2_dpy->core->swapBuffersWithDamage(dri2_surf->dri_drawable, n_rects, rects); + } else { + if (dri2_dpy->kopper) + dri2_dpy->kopper->swapBuffers(dri2_surf->dri_drawable, __DRI2_FLUSH_INVALIDATE_ANCILLARY); + else + dri2_dpy->core->swapBuffers(dri2_surf->dri_drawable); + } dri2_surf->current = dri2_surf->back; dri2_surf->back = NULL;