1
0
Fork 0
forked from wry/wry

metal: implement VRR

This commit is contained in:
Julian Orth 2024-07-17 16:30:52 +02:00
parent cd09e57568
commit 2d7c13b0b4
35 changed files with 1320 additions and 91 deletions

View file

@ -25,7 +25,7 @@ use {
timer::Timer,
video::{
connector_type::{ConnectorType, CON_UNKNOWN},
Connector, DrmDevice, GfxApi, Mode, Transform,
Connector, DrmDevice, GfxApi, Mode, Transform, VrrMode,
},
Axis, Direction, ModifiedKeySym, PciId, Workspace,
},
@ -800,6 +800,14 @@ impl Client {
(width, height)
}
pub fn set_vrr_mode(&self, connector: Option<Connector>, mode: VrrMode) {
self.send(&ClientMessage::SetVrrMode { connector, mode })
}
pub fn set_vrr_cursor_hz(&self, connector: Option<Connector>, hz: f64) {
self.send(&ClientMessage::SetVrrCursorHz { connector, hz })
}
pub fn drm_devices(&self) -> Vec<DrmDevice> {
let res = self.send_with_response(&ClientMessage::GetDrmDevices);
get_response!(res, vec![], GetDrmDevices { devices });

View file

@ -8,7 +8,7 @@ use {
logging::LogLevel,
theme::{colors::Colorable, sized::Resizable, Color},
timer::Timer,
video::{connector_type::ConnectorType, Connector, DrmDevice, GfxApi, Transform},
video::{connector_type::ConnectorType, Connector, DrmDevice, GfxApi, Transform, VrrMode},
Axis, Direction, PciId, Workspace,
_private::{PollableId, WireMode},
},
@ -487,6 +487,14 @@ pub enum ClientMessage<'a> {
seat: Seat,
enabled: bool,
},
SetVrrMode {
connector: Option<Connector>,
mode: VrrMode,
},
SetVrrCursorHz {
connector: Option<Connector>,
hz: f64,
},
}
#[derive(Serialize, Deserialize, Debug)]