swayfx/include/sway
Kenny Levinsen d1eab10266 output: Schedule idle frames if we do not render
Repaint scheduling delays output render and frame done events from
output frame events, and block idle frame events from being scheduled in
between output frame done and output render in this period of time.

If a surface is committed after its frame done event, but before output
render, idle frame requests will be blocked, and the surface relies on
the upcoming render to schedule a frame.

If when the repaint timer expires, output render is deemed unnecessary,
no frame will be scheduled. This can lead to surfaces never having their
frame callbacks fire.

To fix this, we store that a surface has requested a frame in
surface_needs_frame. When the repaint expires, if no render is deemed
necessary, we check this flag and schedule an idle frame.

Fixes #4768
2019-12-01 12:44:07 +01:00
..
desktop Implement inhibit_idle command 2019-03-24 19:26:12 -06:00
input Add support for wlr_keyboard_group 2019-11-21 10:42:10 -05:00
tree view: add max_render_time 2019-11-17 20:18:42 +01:00
commands.h add scale_filter output config option 2019-11-29 18:13:37 +01:00
config.h add scale_filter output config option 2019-11-29 18:13:37 +01:00
criteria.h criteria: make literal comparison for __focused__ values 2019-10-27 11:06:05 -04:00
decoration.h Handle views created after decoration mode is sent for xdg-shell 2018-08-06 15:20:30 +01:00
desktop.h Store geometry in the view and handle any floating view resizing 2018-08-18 15:10:06 +10:00
ipc-json.h Make json-c include respect pkg-config --cflags 2019-01-23 21:50:06 -05:00
ipc-server.h ipc: add an input event 2019-07-23 20:45:46 +03:00
layers.h Handle layer changes for layer shell surfaces 2019-10-27 11:07:18 -04:00
output.h output: Schedule idle frames if we do not render 2019-12-01 12:44:07 +01:00
security.h Move get_feature_policy to sway/security.c 2017-04-16 17:09:53 +03:00
server.h Add sway_surface 2019-11-17 20:18:42 +01:00
surface.h view: add max_render_time 2019-11-17 20:18:42 +01:00
swaynag.h Spawn swaynag as a wayland client 2019-04-14 12:41:59 +03:00
xdg_decoration.h Improve CSD logic 2018-09-27 22:51:37 +10:00
xwayland.h Parse missing i3 window types 2018-10-21 15:59:04 +02:00