From 777df223777f318f9b0173d12f2162f29d7517da Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 6 Mar 2023 16:56:19 +0100 Subject: [PATCH] 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. --- sway/desktop/output.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 59319f62..91a5936a 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -556,6 +556,11 @@ static int output_repaint_timer_handler(void *data) { 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; if (workspace == NULL) { 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; if (!wlr_output_attach_render(output->wlr_output, &buffer_age)) { return 0;