1
0
Fork 0
forked from wry/wry

tree: batch output render data updates

This commit is contained in:
Julian Orth 2022-07-30 12:02:48 +02:00
parent 5a4e48e54a
commit 1bdfa4c85e
4 changed files with 47 additions and 21 deletions

View file

@ -26,8 +26,8 @@ use {
state::{ConnectorData, IdleState, ScreenlockState, State, XWaylandState},
tasks::{self, idle},
tree::{
container_layout, container_render_data, float_layout, float_titles, DisplayNode,
NodeIds, OutputNode, WorkspaceNode,
container_layout, container_render_data, float_layout, float_titles,
output_render_data, DisplayNode, NodeIds, OutputNode, WorkspaceNode,
},
user_session::import_environment,
utils::{
@ -154,6 +154,7 @@ fn start_compositor2(
theme: Default::default(),
pending_container_layout: Default::default(),
pending_container_render_data: Default::default(),
pending_output_render_data: Default::default(),
pending_float_layout: Default::default(),
pending_float_titles: Default::default(),
dbus: Dbus::new(&engine, &ring, &run_toplevel),
@ -281,6 +282,7 @@ fn start_global_event_handlers(
res.push(eng.spawn(tasks::handle_hardware_cursor_tick(state.clone())));
res.push(eng.spawn2(Phase::Layout, container_layout(state.clone())));
res.push(eng.spawn2(Phase::PostLayout, container_render_data(state.clone())));
res.push(eng.spawn2(Phase::PostLayout, output_render_data(state.clone())));
res.push(eng.spawn2(Phase::Layout, float_layout(state.clone())));
res.push(eng.spawn2(Phase::PostLayout, float_titles(state.clone())));
res.push(eng.spawn2(Phase::PostLayout, idle(state.clone(), backend.clone())));
@ -390,6 +392,7 @@ fn create_dummy_output(state: &Rc<State>) {
lock_surface: Default::default(),
preferred_scale: Cell::new(Fixed::from_int(1)),
hardware_cursor: Default::default(),
update_render_data_scheduled: Cell::new(false),
screencasts: Default::default(),
});
let dummy_workspace = Rc::new(WorkspaceNode {