video: unify output rendering
This commit is contained in:
parent
82b3650e67
commit
0ba8648844
3 changed files with 34 additions and 25 deletions
|
|
@ -380,22 +380,16 @@ impl MetalConnector {
|
|||
if let Some(node) = self.state.root.outputs.get(&self.connector_id) {
|
||||
let mut rr = self.render_result.borrow_mut();
|
||||
let render_fb = buffer.render_fb();
|
||||
render_fb.render_node(
|
||||
&*node,
|
||||
&self.state,
|
||||
Some(node.global.pos.get()),
|
||||
Some(&mut rr),
|
||||
node.preferred_scale.get(),
|
||||
self.state.present_output(
|
||||
&node,
|
||||
&render_fb,
|
||||
&buffer.render_tex,
|
||||
&mut rr,
|
||||
!self.cursor_enabled.get(),
|
||||
);
|
||||
if let Some(tex) = &buffer.dev_tex {
|
||||
buffer.dev_fb.copy_texture(tex, 0, 0);
|
||||
}
|
||||
for fr in rr.frame_requests.drain(..) {
|
||||
fr.send_done();
|
||||
let _ = fr.client.remove_obj(&*fr);
|
||||
}
|
||||
node.perform_screencopies(&*render_fb, &buffer.render_tex);
|
||||
}
|
||||
changes.change_object(plane.id, |c| {
|
||||
c.change(plane.fb_id, buffer.drm.id().0 as _);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ use {
|
|||
collections::VecDeque,
|
||||
error::Error,
|
||||
future::pending,
|
||||
ops::DerefMut,
|
||||
rc::Rc,
|
||||
},
|
||||
thiserror::Error,
|
||||
|
|
@ -733,21 +732,13 @@ impl XBackend {
|
|||
image.last_serial.set(serial);
|
||||
|
||||
if let Some(node) = self.state.root.outputs.get(&output.id) {
|
||||
let mut rr = self.render_result.borrow_mut();
|
||||
let fb = image.fb.get();
|
||||
fb.render_node(
|
||||
self.state.present_output(
|
||||
&*node,
|
||||
&self.state,
|
||||
Some(node.global.pos.get()),
|
||||
Some(rr.deref_mut()),
|
||||
node.preferred_scale.get(),
|
||||
&image.fb.get(),
|
||||
&image.tex.get(),
|
||||
&mut self.render_result.borrow_mut(),
|
||||
true,
|
||||
);
|
||||
for fr in rr.frame_requests.drain(..) {
|
||||
fr.send_done();
|
||||
let _ = fr.client.remove_obj(&*fr);
|
||||
}
|
||||
node.perform_screencopies(&*fb, &image.tex.get());
|
||||
}
|
||||
|
||||
let pp = PresentPixmap {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue