Notify XWayland surfaces when we're done with a frame from them.

And remove rootston's output render path. This seems like it was the only
strictly needed thing, frames seem to time out without that. Will probably
find bugs later.
This commit is contained in:
Pierre-Loup A. Griffais 2019-11-20 01:17:57 -08:00 committed by Pierre-Loup A. Griffais
parent 7e9bc2a6a0
commit f919e65c38
2 changed files with 13 additions and 1 deletions

View file

@ -548,7 +548,7 @@ static void output_damage_handle_frame(struct wl_listener *listener,
void *data) {
struct roots_output *output =
wl_container_of(listener, output, damage_frame);
output_render(output);
// output_render(output);
}
static void output_damage_handle_destroy(struct wl_listener *listener,

View file

@ -2136,6 +2136,9 @@ steamcompmgr_main (int argc, char **argv)
if (doRender)
{
struct timespec now;
clock_gettime(CLOCK_MONOTONIC, &now);
paint_all(dpy);
// If we're in the middle of a fade, pump an event into the loop to
@ -2179,6 +2182,15 @@ steamcompmgr_main (int argc, char **argv)
w->damaged = 1;
}
}
// Send frame done event to all Wayland surfaces
for (win *w = list; w; w = w->next)
{
if ( w->xwl_surface && w->xwl_surface->surface )
{
wlr_surface_send_frame_done(w->xwl_surface->surface, &now);
}
}
}
}
}