diff --git a/.pick_status.json b/.pick_status.json index acb29d7a52c..a940e99a37f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1579,7 +1579,7 @@ "description": "egl/wayland: manually swap backbuffer when using zink", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 82726b477ec..c4332aa0633 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -2546,6 +2546,10 @@ dri2_wl_swrast_swap_buffers(_EGLDisplay *disp, _EGLSurface *draw) return _eglError(EGL_BAD_NATIVE_WINDOW, "dri2_swap_buffers"); dri2_dpy->core->swapBuffers(dri2_surf->dri_drawable); + if (disp->Options.Zink) { + dri2_surf->current = dri2_surf->back; + dri2_surf->back = NULL; + } return EGL_TRUE; }