Only schedule a frame if client has requested a frame callback

When a client hasn't damaged its surface, we only need to schedule an
output frame if the client has requested a frame callback.
This commit is contained in:
Simon Ser 2020-03-05 13:44:34 +01:00 committed by Drew DeVault
parent c0811fcf87
commit f5ba8006c9

View file

@ -681,8 +681,10 @@ static void damage_surface_iterator(struct sway_output *output, struct sway_view
wlr_output_damage_add_box(output->damage, &box); wlr_output_damage_add_box(output->damage, &box);
} }
output->surface_needs_frame = true; if (!wl_list_empty(&surface->current.frame_callback_list)) {
wlr_output_schedule_frame(output->wlr_output); output->surface_needs_frame = true;
wlr_output_schedule_frame(output->wlr_output);
}
} }
void output_damage_surface(struct sway_output *output, double ox, double oy, void output_damage_surface(struct sway_output *output, double ox, double oy,