aboutsummaryrefslogtreecommitdiff
path: root/src/render_helpers/renderer.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-03-09 22:03:14 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-03-10 07:59:14 +0300
commit1c521e48313b42d2e314d139c3cf4ac5dc44e7a7 (patch)
treeef1b83079f489c3432b3b430250e7cbc103ea6f8 /src/render_helpers/renderer.rs
parenteda43b2b935b75f3e8d2041be1bd25413787b1c3 (diff)
downloadniri-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.rs19
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()
}
}