1
0
Fork 0
forked from wry/wry

wl_surface: dispatch frame requests from vblank event handlers

This commit is contained in:
Julian Orth 2024-09-11 19:06:07 +02:00
parent 7800488555
commit 3fcc6d6e36
13 changed files with 65 additions and 137 deletions

View file

@ -486,8 +486,6 @@ impl MetalConnector {
if damage == 0 {
return None;
}
let mut rr = self.render_result.borrow_mut();
rr.output_id = node.id;
let render_hw_cursor = !self.cursor_enabled.get();
let mode = node.global.mode.get();
let pass = create_render_pass(
@ -495,7 +493,6 @@ impl MetalConnector {
&**node,
&self.state,
Some(node.global.pos.get()),
Some(&mut rr),
node.global.persistent.scale.get(),
true,
render_hw_cursor,
@ -503,7 +500,6 @@ impl MetalConnector {
node.global.persistent.transform.get(),
Some(&self.state.damage_visualizer),
);
rr.dispatch_frame_requests(self.state.now_msec());
Some(Latched { pass, damage })
}

View file

@ -26,7 +26,6 @@ use {
wl_output::OutputId,
wp_presentation_feedback::{KIND_HW_COMPLETION, KIND_VSYNC},
},
renderer::RenderResult,
state::State,
udev::UdevDevice,
utils::{
@ -447,8 +446,6 @@ pub struct MetalConnector {
pub present_trigger: AsyncEvent,
pub render_result: RefCell<RenderResult>,
pub cursor_x: Cell<i32>,
pub cursor_y: Cell<i32>,
pub cursor_enabled: Cell<bool>,
@ -1044,7 +1041,6 @@ fn create_connector(
crtc: Default::default(),
on_change: Default::default(),
present_trigger: Default::default(),
render_result: RefCell::new(Default::default()),
cursor_x: Cell::new(0),
cursor_y: Cell::new(0),
cursor_enabled: Cell::new(false),
@ -1912,6 +1908,7 @@ impl MetalBackend {
};
self.update_sequence(&connector, sequence);
connector.queue_sequence();
self.state.vblank(connector.connector_id);
let dd = connector.display.borrow();
connector
.next_flip_nsec