aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2020-03-05 13:53:29 +0100
committerLibravatar Drew DeVault <sir@cmpwn.com>2020-03-06 21:37:53 +0100
commit241684eb1dc7ae690510871cae6fcc463daf112d (patch)
tree0611c20e1c906df46b0fd4f56f2c783a7c2fe329
parentOnly schedule a frame if client has requested a frame callback (diff)
downloadsway-241684eb1dc7ae690510871cae6fcc463daf112d.tar.gz
sway-241684eb1dc7ae690510871cae6fcc463daf112d.tar.zst
sway-241684eb1dc7ae690510871cae6fcc463daf112d.zip
Drop sway_output.surface_needs_frame
wlr_output_schedule_frame now sets output->needs_frame [1], so this isn't needed anymore. [1]: https://github.com/swaywm/wlroots/pull/2053
-rw-r--r--include/sway/output.h1
-rw-r--r--sway/desktop/output.c8
2 files changed, 0 insertions, 9 deletions
diff --git a/include/sway/output.h b/include/sway/output.h
index ccc1097f..4771b14f 100644
--- a/include/sway/output.h
+++ b/include/sway/output.h
@@ -57,7 +57,6 @@ struct sway_output {
57 uint32_t refresh_nsec; 57 uint32_t refresh_nsec;
58 int max_render_time; // In milliseconds 58 int max_render_time; // In milliseconds
59 struct wl_event_source *repaint_timer; 59 struct wl_event_source *repaint_timer;
60 bool surface_needs_frame;
61}; 60};
62 61
63struct sway_output *output_create(struct wlr_output *wlr_output); 62struct sway_output *output_create(struct wlr_output *wlr_output);
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index ab28f25c..b78e0819 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -515,9 +515,6 @@ static int output_repaint_timer_handler(void *data) {
515 515
516 output->wlr_output->frame_pending = false; 516 output->wlr_output->frame_pending = false;
517 517
518 bool surface_needs_frame = output->surface_needs_frame;
519 output->surface_needs_frame = false;
520
521 struct sway_workspace *workspace = output->current.active_workspace; 518 struct sway_workspace *workspace = output->current.active_workspace;
522 if (workspace == NULL) { 519 if (workspace == NULL) {
523 return 0; 520 return 0;
@@ -562,10 +559,6 @@ static int output_repaint_timer_handler(void *data) {
562 output_render(output, &now, &damage); 559 output_render(output, &now, &damage);
563 } else { 560 } else {
564 wlr_output_rollback(output->wlr_output); 561 wlr_output_rollback(output->wlr_output);
565
566 if (surface_needs_frame) {
567 wlr_output_schedule_frame(output->wlr_output);
568 }
569 } 562 }
570 563
571 pixman_region32_fini(&damage); 564 pixman_region32_fini(&damage);
@@ -682,7 +675,6 @@ static void damage_surface_iterator(struct sway_output *output, struct sway_view
682 } 675 }
683 676
684 if (!wl_list_empty(&surface->current.frame_callback_list)) { 677 if (!wl_list_empty(&surface->current.frame_callback_list)) {
685 output->surface_needs_frame = true;
686 wlr_output_schedule_frame(output->wlr_output); 678 wlr_output_schedule_frame(output->wlr_output);
687 } 679 }
688} 680}