Skip direct scan-out commit when damage is empty

When there is no damage, no need to perform an output commit, even
when direct scan-out is used.
This commit is contained in:
Simon Ser 2023-03-06 16:56:19 +01:00
parent 5e847fe3c8
commit 777df22377

View file

@ -556,6 +556,11 @@ static int output_repaint_timer_handler(void *data) {
wlr_output->frame_pending = false; wlr_output->frame_pending = false;
if (!wlr_output->needs_frame &&
!pixman_region32_not_empty(&output->damage_ring.current)) {
return 0;
}
struct sway_workspace *workspace = output->current.active_workspace; struct sway_workspace *workspace = output->current.active_workspace;
if (workspace == NULL) { if (workspace == NULL) {
return 0; return 0;
@ -588,11 +593,6 @@ static int output_repaint_timer_handler(void *data) {
} }
} }
if (!output->wlr_output->needs_frame &&
!pixman_region32_not_empty(&output->damage_ring.current)) {
return 0;
}
int buffer_age; int buffer_age;
if (!wlr_output_attach_render(output->wlr_output, &buffer_age)) { if (!wlr_output_attach_render(output->wlr_output, &buffer_age)) {
return 0; return 0;