diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-12-02 13:17:37 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-02 13:17:37 -0500 |
commit | 974a3fbc5993946ede98250b006a1a7bc20df719 (patch) | |
tree | 559c0a1a48e009c36fc8e656b16745328cc21945 | |
parent | Merge pull request #3228 from ianyfan/swayidle (diff) | |
parent | Update for swaywm/wlroots#1403 (diff) | |
download | sway-974a3fbc5993946ede98250b006a1a7bc20df719.tar.gz sway-974a3fbc5993946ede98250b006a1a7bc20df719.tar.zst sway-974a3fbc5993946ede98250b006a1a7bc20df719.zip |
Merge pull request #3227 from emersion/swap-buffers-damage-coords
Update for swaywm/wlroots#1403
-rw-r--r-- | sway/desktop/render.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c index ca8ef83b..2afed82d 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c | |||
@@ -1079,15 +1079,22 @@ renderer_end: | |||
1079 | wlr_render_texture(renderer, root->debug_tree, | 1079 | wlr_render_texture(renderer, root->debug_tree, |
1080 | wlr_output->transform_matrix, 0, 40, 1); | 1080 | wlr_output->transform_matrix, 0, 40, 1); |
1081 | } | 1081 | } |
1082 | if (debug.damage == DAMAGE_HIGHLIGHT) { | ||
1083 | int width, height; | ||
1084 | wlr_output_transformed_resolution(wlr_output, &width, &height); | ||
1085 | pixman_region32_union_rect(damage, damage, 0, 0, width, height); | ||
1086 | } | ||
1087 | 1082 | ||
1088 | wlr_renderer_scissor(renderer, NULL); | 1083 | wlr_renderer_scissor(renderer, NULL); |
1089 | wlr_output_render_software_cursors(wlr_output, damage); | 1084 | wlr_output_render_software_cursors(wlr_output, damage); |
1090 | wlr_renderer_end(renderer); | 1085 | wlr_renderer_end(renderer); |
1086 | |||
1087 | int width, height; | ||
1088 | wlr_output_transformed_resolution(wlr_output, &width, &height); | ||
1089 | |||
1090 | if (debug.damage == DAMAGE_HIGHLIGHT) { | ||
1091 | pixman_region32_union_rect(damage, damage, 0, 0, width, height); | ||
1092 | } | ||
1093 | |||
1094 | enum wl_output_transform transform = | ||
1095 | wlr_output_transform_invert(wlr_output->transform); | ||
1096 | wlr_region_transform(damage, damage, transform, width, height); | ||
1097 | |||
1091 | if (!wlr_output_damage_swap_buffers(output->damage, when, damage)) { | 1098 | if (!wlr_output_damage_swap_buffers(output->damage, when, damage)) { |
1092 | return; | 1099 | return; |
1093 | } | 1100 | } |