mirror of
https://codeberg.org/dwl/dwl.git
synced 2026-06-10 03:01:34 -04:00
Remove rendermon pending resize frame skip
This is no longer needed as wlroots => 0.19 handles this internally via scene-level surface state tracking and linux-drm-syncobj explicit sync. The manual commit skip now causes the c->resize to be stuck on non-zero state which leads to choppy resizing experience.
This commit is contained in:
parent
d41ecb745c
commit
6370368c5b
1 changed files with 0 additions and 12 deletions
12
dwl.c
12
dwl.c
|
|
@ -2157,24 +2157,12 @@ rendermon(struct wl_listener *listener, void *data)
|
||||||
/* This function is called every time an output is ready to display a frame,
|
/* This function is called every time an output is ready to display a frame,
|
||||||
* generally at the output's refresh rate (e.g. 60Hz). */
|
* generally at the output's refresh rate (e.g. 60Hz). */
|
||||||
Monitor *m = wl_container_of(listener, m, frame);
|
Monitor *m = wl_container_of(listener, m, frame);
|
||||||
Client *c;
|
|
||||||
struct wlr_output_state pending = {0};
|
|
||||||
struct timespec now;
|
struct timespec now;
|
||||||
|
|
||||||
/* Render if no XDG clients have an outstanding resize and are visible on
|
|
||||||
* this monitor. */
|
|
||||||
wl_list_for_each(c, &clients, link) {
|
|
||||||
if (c->resize && !c->isfloating && client_is_rendered_on_mon(c, m) && !client_is_stopped(c))
|
|
||||||
goto skip;
|
|
||||||
}
|
|
||||||
|
|
||||||
wlr_scene_output_commit(m->scene_output, NULL);
|
wlr_scene_output_commit(m->scene_output, NULL);
|
||||||
|
|
||||||
skip:
|
|
||||||
/* Let clients know a frame has been rendered */
|
|
||||||
clock_gettime(CLOCK_MONOTONIC, &now);
|
clock_gettime(CLOCK_MONOTONIC, &now);
|
||||||
wlr_scene_output_send_frame_done(m->scene_output, &now);
|
wlr_scene_output_send_frame_done(m->scene_output, &now);
|
||||||
wlr_output_state_finish(&pending);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue