mirror of
https://github.com/swaywm/sway.git
synced 2026-04-18 06:46:56 -04:00
fix: try page-flip without tearing when the output test fails
This commit is contained in:
parent
0b0d979f1e
commit
81e67e18bb
1 changed files with 9 additions and 3 deletions
|
|
@ -303,11 +303,17 @@ static int output_repaint_timer_handler(void *data) {
|
||||||
pending.tearing_page_flip = true;
|
pending.tearing_page_flip = true;
|
||||||
|
|
||||||
if (!wlr_output_test_state(output->wlr_output, &pending)) {
|
if (!wlr_output_test_state(output->wlr_output, &pending)) {
|
||||||
output->allow_tearing = false;
|
sway_log(SWAY_ERROR, "Output test failed on '%s', retrying without tearing page-flip",
|
||||||
|
output->wlr_output->name);
|
||||||
|
|
||||||
|
pending.tearing_page_flip = false;
|
||||||
|
|
||||||
|
if (!wlr_output_test_state(output->wlr_output, &pending)) {
|
||||||
wlr_output_state_finish(&pending);
|
wlr_output_state_finish(&pending);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!wlr_output_commit_state(output->wlr_output, &pending)) {
|
if (!wlr_output_commit_state(output->wlr_output, &pending)) {
|
||||||
sway_log(SWAY_ERROR, "Page-flip failed on output %s", output->wlr_output->name);
|
sway_log(SWAY_ERROR, "Page-flip failed on output %s", output->wlr_output->name);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue