mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-04-19 06:47:02 -04:00
wlr_scene: Refactor presentation events
Instead of using the wlr_presentation helper to buffer the events, handle these events ourselves. This fixes the possibility of duplicate presentation events being sent in rare direct scanout failure during commit.
This commit is contained in:
parent
5e2a1e44f5
commit
62c5bd20a3
3 changed files with 52 additions and 16 deletions
|
|
@ -149,7 +149,7 @@ struct wlr_scene_buffer {
|
|||
struct wl_signal outputs_update; // struct wlr_scene_outputs_update_event
|
||||
struct wl_signal output_enter; // struct wlr_scene_output
|
||||
struct wl_signal output_leave; // struct wlr_scene_output
|
||||
struct wl_signal output_present; // struct wlr_scene_output
|
||||
struct wl_signal output_present; // struct wlr_output_event_present
|
||||
struct wl_signal frame_done; // struct timespec
|
||||
} events;
|
||||
|
||||
|
|
@ -198,6 +198,7 @@ struct wlr_scene_output {
|
|||
struct wl_listener output_commit;
|
||||
struct wl_listener output_damage;
|
||||
struct wl_listener output_needs_frame;
|
||||
struct wl_listener output_present;
|
||||
|
||||
struct wl_list damage_highlight_regions;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue