onscreen/native: Also promote posted frame in ready callback

When the legacy KMS implementation running without a KMS thread receives
a cursor only frame, it doesn't do an actual page flip, but just posts a
"ready" callback without any timing information. In this case we failed
to discard the posted frame, meaning theh onscreen KMS throttling was
still thinking it was supposed to wait for the posted frame to be
presented.

Fixes: df7ac5b0a3 ("onscreen/native: Account for all posted frames")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/4021
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4375>
This commit is contained in:
Jonas Ådahl 2025-03-29 08:57:54 +01:00 committed by Bruce Leidl
parent 99330c53eb
commit d7c164e1d7

View File

@ -318,6 +318,7 @@ page_flip_feedback_ready (MetaKmsCrtc *kms_crtc,
frame_info->flags |= COGL_FRAME_INFO_FLAG_SYMBOLIC;
meta_onscreen_native_notify_frame_complete (onscreen);
meta_onscreen_native_promote_posted_frame (onscreen);
maybe_post_next_frame (onscreen);
}