aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop/output.c
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2023-03-06 16:57:27 +0100
committerSimon Ser <contact@emersion.fr>2023-04-14 17:43:37 +0200
commitab4f46059793cbdd7942b128db970de95af37ed3 (patch)
tree9a7061a5b2e784a2916053c8e8ba76a8a5c47fe3 /sway/desktop/output.c
parent777df223777f318f9b0173d12f2162f29d7517da (diff)
Set output damage during direct scan-out
During direct scan-out, pass the damaged region to the wlroots backend.
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r--sway/desktop/output.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index 91a5936a..17bce123 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -571,6 +571,11 @@ static int output_repaint_timer_handler(void *data) {
fullscreen_con = workspace->current.fullscreen;
}
+ pixman_region32_t frame_damage;
+ get_frame_damage(output, &frame_damage);
+ wlr_output_set_damage(wlr_output, &frame_damage);
+ pixman_region32_fini(&frame_damage);
+
if (fullscreen_con && fullscreen_con->view && !debug.noscanout) {
// Try to scan-out the fullscreen view
static bool last_scanned_out = false;
@@ -609,11 +614,6 @@ static int output_repaint_timer_handler(void *data) {
pixman_region32_fini(&damage);
- pixman_region32_t frame_damage;
- get_frame_damage(output, &frame_damage);
- wlr_output_set_damage(wlr_output, &frame_damage);
- pixman_region32_fini(&frame_damage);
-
if (!wlr_output_commit(wlr_output)) {
return 0;
}