diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2025-03-09 22:03:14 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-03-10 07:59:14 +0300 |
| commit | 1c521e48313b42d2e314d139c3cf4ac5dc44e7a7 (patch) | |
| tree | ef1b83079f489c3432b3b430250e7cbc103ea6f8 /src/render_helpers/renderer.rs | |
| parent | eda43b2b935b75f3e8d2041be1bd25413787b1c3 (diff) | |
| download | niri-1c521e48313b42d2e314d139c3cf4ac5dc44e7a7.tar.gz niri-1c521e48313b42d2e314d139c3cf4ac5dc44e7a7.tar.bz2 niri-1c521e48313b42d2e314d139c3cf4ac5dc44e7a7.zip | |
Update Smithay (Framebuffer type)
Diffstat (limited to 'src/render_helpers/renderer.rs')
| -rw-r--r-- | src/render_helpers/renderer.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/render_helpers/renderer.rs b/src/render_helpers/renderer.rs index 605c0caa..9c42ea3d 100644 --- a/src/render_helpers/renderer.rs +++ b/src/render_helpers/renderer.rs @@ -1,7 +1,7 @@ use smithay::backend::allocator::dmabuf::Dmabuf; use smithay::backend::renderer::gles::{GlesFrame, GlesRenderer, GlesTexture}; use smithay::backend::renderer::{ - Bind, ExportMem, ImportAll, ImportMem, Offscreen, Renderer, Texture, + Bind, ExportMem, ImportAll, ImportMem, Offscreen, Renderer, RendererSuper, Texture, }; use crate::backend::tty::{TtyFrame, TtyRenderer}; @@ -21,7 +21,7 @@ pub trait NiriRenderer: type NiriError: std::error::Error + Send + Sync - + From<<GlesRenderer as Renderer>::Error> + + From<<GlesRenderer as RendererSuper>::Error> + 'static; } @@ -29,7 +29,8 @@ impl<R> NiriRenderer for R where R: ImportAll + ImportMem + ExportMem + Bind<Dmabuf> + Offscreen<GlesTexture> + AsGlesRenderer, R::TextureId: Texture + Clone + Send + 'static, - R::Error: std::error::Error + Send + Sync + From<<GlesRenderer as Renderer>::Error> + 'static, + R::Error: + std::error::Error + Send + Sync + From<<GlesRenderer as RendererSuper>::Error> + 'static, { type NiriTextureId = R::TextureId; type NiriError = R::Error; @@ -53,21 +54,21 @@ impl AsGlesRenderer for TtyRenderer<'_> { } /// Trait for getting the underlying `GlesFrame`. -pub trait AsGlesFrame<'frame> +pub trait AsGlesFrame<'frame, 'buffer> where Self: 'frame, { - fn as_gles_frame(&mut self) -> &mut GlesFrame<'frame>; + fn as_gles_frame(&mut self) -> &mut GlesFrame<'frame, 'buffer>; } -impl<'frame> AsGlesFrame<'frame> for GlesFrame<'frame> { - fn as_gles_frame(&mut self) -> &mut GlesFrame<'frame> { +impl<'frame, 'buffer> AsGlesFrame<'frame, 'buffer> for GlesFrame<'frame, 'buffer> { + fn as_gles_frame(&mut self) -> &mut GlesFrame<'frame, 'buffer> { self } } -impl<'frame> AsGlesFrame<'frame> for TtyFrame<'_, 'frame> { - fn as_gles_frame(&mut self) -> &mut GlesFrame<'frame> { +impl<'frame, 'buffer> AsGlesFrame<'frame, 'buffer> for TtyFrame<'_, 'frame, 'buffer> { + fn as_gles_frame(&mut self) -> &mut GlesFrame<'frame, 'buffer> { self.as_mut() } } |
