aboutsummaryrefslogtreecommitdiff
path: root/src/backend/winit.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-01-03 11:16:47 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-01-03 11:37:04 +0400
commit57a73476207bd33a26b39964feb01bb673be8a2b (patch)
tree70d813f595660c7473130bdc93c26d401c597f74 /src/backend/winit.rs
parent628891db2c8b0467f5dcf1f82be6db1570fea84b (diff)
downloadniri-57a73476207bd33a26b39964feb01bb673be8a2b.tar.gz
niri-57a73476207bd33a26b39964feb01bb673be8a2b.tar.bz2
niri-57a73476207bd33a26b39964feb01bb673be8a2b.zip
Move import_dmabuf to backends
Diffstat (limited to 'src/backend/winit.rs')
-rw-r--r--src/backend/winit.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/backend/winit.rs b/src/backend/winit.rs
index 7c16aaf2..3adecd4b 100644
--- a/src/backend/winit.rs
+++ b/src/backend/winit.rs
@@ -5,9 +5,10 @@ use std::rc::Rc;
use std::sync::{Arc, Mutex};
use std::time::Duration;
+use smithay::backend::allocator::dmabuf::Dmabuf;
use smithay::backend::renderer::damage::OutputDamageTracker;
use smithay::backend::renderer::gles::GlesRenderer;
-use smithay::backend::renderer::{DebugFlags, ImportEgl, Renderer};
+use smithay::backend::renderer::{DebugFlags, ImportDma, ImportEgl, Renderer};
use smithay::backend::winit::{self, WinitEvent, WinitGraphicsBackend};
use smithay::output::{Mode, Output, PhysicalProperties, Scale, Subpixel};
use smithay::reexports::calloop::LoopHandle;
@@ -199,6 +200,16 @@ impl Winit {
renderer.set_debug_flags(renderer.debug_flags() ^ DebugFlags::TINT);
}
+ pub fn import_dmabuf(&mut self, dmabuf: &Dmabuf) -> Result<(), ()> {
+ match self.backend.renderer().import_dmabuf(dmabuf, None) {
+ Ok(_texture) => Ok(()),
+ Err(err) => {
+ debug!("error importing dmabuf: {err:?}");
+ Err(())
+ }
+ }
+ }
+
pub fn connectors(&self) -> Arc<Mutex<HashMap<String, Output>>> {
self.connectors.clone()
}