SIGN IN SIGN UP

vo_dmabuf_wayland: commit surfaces in correct order

osd_surface is a sync sub-surface of video_surface meaning that a commit
of osd_surface will not take effect until the next commit of
video_surface.

Some compositors (wlroots) do not implement sync sub-surface correctly,
meaning that the difference cannot be observed there. But it can easily
be seen on Jay and GNOME:

1. Open an mpv window.
2. Pause the video.
3. Enter the surface with the mouse.

Expected behavior:

1. The OSD shows up immediately.

Actual behavior:

1. Nothing happens for a few seconds.
2. The OSD shows up and immediately fades out.

This is because the fade-out commits cause the initial osd_surface
commit to become effective.
J
Julian Orth committed
76da05092b095cb4f3a670de1cbabbfdfe03a5c7
Parent: b90c1bb
Committed by Dudemanguy <random342@airmail.cc> on 2/21/2025, 5:23:56 PM