diff options
Diffstat (limited to 'src/backend')
| -rw-r--r-- | src/backend/tty.rs | 7 | ||||
| -rw-r--r-- | src/backend/winit.rs | 16 |
2 files changed, 14 insertions, 9 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs index 003413bf..cbb8c8c0 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -28,7 +28,7 @@ use smithay::backend::libinput::{LibinputInputBackend, LibinputSessionInterface} use smithay::backend::renderer::gles::GlesRenderer; use smithay::backend::renderer::multigpu::gbm::GbmGlesBackend; use smithay::backend::renderer::multigpu::{GpuManager, MultiFrame, MultiRenderer}; -use smithay::backend::renderer::{DebugFlags, ImportDma, ImportEgl, Renderer}; +use smithay::backend::renderer::{DebugFlags, ImportDma, ImportEgl, RendererSuper}; use smithay::backend::session::libseat::LibSeatSession; use smithay::backend::session::{Event as SessionEvent, Session}; use smithay::backend::udev::{self, UdevBackend, UdevEvent}; @@ -101,15 +101,16 @@ pub type TtyRenderer<'render> = MultiRenderer< GbmGlesBackend<GlesRenderer, DrmDeviceFd>, >; -pub type TtyFrame<'render, 'frame> = MultiFrame< +pub type TtyFrame<'render, 'frame, 'buffer> = MultiFrame< 'render, 'render, 'frame, + 'buffer, GbmGlesBackend<GlesRenderer, DrmDeviceFd>, GbmGlesBackend<GlesRenderer, DrmDeviceFd>, >; -pub type TtyRendererError<'render> = <TtyRenderer<'render> as Renderer>::Error; +pub type TtyRendererError<'render> = <TtyRenderer<'render> as RendererSuper>::Error; type GbmDrmCompositor = DrmCompositor< GbmAllocator<DrmDeviceFd>, diff --git a/src/backend/winit.rs b/src/backend/winit.rs index 3deec7a3..667b9209 100644 --- a/src/backend/winit.rs +++ b/src/backend/winit.rs @@ -190,12 +190,16 @@ impl Winit { } // Hand them over to winit. - self.backend.bind().unwrap(); - let age = self.backend.buffer_age().unwrap(); - let res = self - .damage_tracker - .render_output(self.backend.renderer(), age, &elements, [0.; 4]) - .unwrap(); + let res = { + let (renderer, mut framebuffer) = self.backend.bind().unwrap(); + // FIXME: currently impossible to call due to a mutable borrow. + // + // let age = self.backend.buffer_age().unwrap(); + let age = 0; + self.damage_tracker + .render_output(renderer, &mut framebuffer, age, &elements, [0.; 4]) + .unwrap() + }; niri.update_primary_scanout_output(output, &res.states); |
