1
0
Fork 0
forked from wry/wry

metal: emulate vblank events on the nvidia driver

This commit is contained in:
Julian Orth 2024-10-03 08:54:15 +02:00
parent d2b6831ce4
commit ed65fa07a4
7 changed files with 41 additions and 4 deletions

View file

@ -141,6 +141,16 @@ impl OutputNode {
for listener in self.vblank_event.iter() {
listener.after_vblank();
}
if self.global.connector.needs_vblank_emulation.get() {
if self.vblank_event.has_listeners() {
self.global.connector.damage();
} else {
let connector = self.global.connector.clone();
self.vblank_event.on_attach(Box::new(move || {
connector.damage();
}));
}
}
}
pub fn presented(&self, tv_sec: u64, tv_nsec: u32, refresh: u32, seq: u64, flags: u32) {