aboutsummaryrefslogtreecommitdiff
path: root/src/protocols
diff options
context:
space:
mode:
authorMichael Yang <admin@my4ng.dev>2024-08-22 18:58:07 +1000
committerGitHub <noreply@github.com>2024-08-22 11:58:07 +0300
commitf1894f6f9a7470b8b1493cf96b28a48e8a704636 (patch)
treed70a3ab350d39dea1b8240e2a92b281b01be5d12 /src/protocols
parentdfc2d452c55d59d6d9014c98a9da3a082c4f7379 (diff)
downloadniri-f1894f6f9a7470b8b1493cf96b28a48e8a704636.tar.gz
niri-f1894f6f9a7470b8b1493cf96b28a48e8a704636.tar.bz2
niri-f1894f6f9a7470b8b1493cf96b28a48e8a704636.zip
feature: add on-demand vrr (#586)
* feature: add on-demand vrr * Don't require connector::Info in try_to_set_vrr * Improve VRR help message * Rename connector_handle => connector * Fix tracy span name * Move on demand vrr flag set higher * wiki: Mention on-demand VRR --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
Diffstat (limited to 'src/protocols')
-rw-r--r--src/protocols/output_management.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/protocols/output_management.rs b/src/protocols/output_management.rs
index 23e419ba..3839bdb4 100644
--- a/src/protocols/output_management.rs
+++ b/src/protocols/output_management.rs
@@ -3,7 +3,7 @@ use std::collections::HashMap;
use std::iter::zip;
use std::mem;
-use niri_config::FloatOrInt;
+use niri_config::{FloatOrInt, Vrr};
use niri_ipc::Transform;
use smithay::reexports::wayland_protocols_wlr::output_management::v1::server::{
zwlr_output_configuration_head_v1, zwlr_output_configuration_v1, zwlr_output_head_v1,
@@ -693,9 +693,9 @@ where
new_config.scale = Some(FloatOrInt(scale));
}
zwlr_output_configuration_head_v1::Request::SetAdaptiveSync { state } => {
- let enabled = match state {
- WEnum::Value(AdaptiveSyncState::Enabled) => true,
- WEnum::Value(AdaptiveSyncState::Disabled) => false,
+ let vrr = match state {
+ WEnum::Value(AdaptiveSyncState::Enabled) => Some(Vrr { on_demand: false }),
+ WEnum::Value(AdaptiveSyncState::Disabled) => None,
_ => {
warn!("SetAdaptativeSync: unknown requested adaptative sync");
conf_head.post_error(
@@ -705,7 +705,7 @@ where
return;
}
};
- new_config.variable_refresh_rate = enabled;
+ new_config.variable_refresh_rate = vrr;
}
_ => unreachable!(),
}