add headless idle frame scheduler

Headless present events aren't suitable for the present idle scheduler.
This new scheduler is a good place for headless' existing frame logic to
go, so move it into there.
This commit is contained in:
Rose Hudson 2023-08-09 17:42:56 +01:00
parent 9b3588e97c
commit 7ecafde6fd
2 changed files with 79 additions and 0 deletions

View file

@ -31,6 +31,12 @@ struct wlr_frame_scheduler *wlr_present_idle_scheduler_create(struct wlr_output
* the render loop, it emits the frame signal when the compositor's event loop is idle.
*/
struct wlr_frame_scheduler *wlr_wl_idle_scheduler_create(struct wlr_output *output);
/*
* The headless-idle scheduler maintains a render loop based on the headless backend's refresh
* timer. To wake the render loop, it emits the frame signal when the compositor's event loop is
* idle.
*/
struct wlr_frame_scheduler *wlr_headless_idle_scheduler_create(struct wlr_output *output);
/*
* Creates an appropriate frame scheduler for the given output's backend capabilities.