diff options
author | Simon Ser <contact@emersion.fr> | 2023-03-06 16:57:27 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-04-14 17:43:37 +0200 |
commit | ab4f46059793cbdd7942b128db970de95af37ed3 (patch) | |
tree | 9a7061a5b2e784a2916053c8e8ba76a8a5c47fe3 /sway/desktop/output.c | |
parent | 777df223777f318f9b0173d12f2162f29d7517da (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.c | 10 |
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; } |