From 074787d18ef14202b1e8e5ca71d1d68f7d6bef68 Mon Sep 17 00:00:00 2001 From: galister <22305755+galister@users.noreply.github.com> Date: Sat, 4 Jul 2026 20:48:38 +0900 Subject: [PATCH] wvr_server: actually use dmabuf cache --- wayvr/src/backend/wayvr/image_importer.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/wayvr/src/backend/wayvr/image_importer.rs b/wayvr/src/backend/wayvr/image_importer.rs index 0af4f6f2..3bc26558 100644 --- a/wayvr/src/backend/wayvr/image_importer.rs +++ b/wayvr/src/backend/wayvr/image_importer.rs @@ -100,6 +100,12 @@ impl ImageImporter { } pub fn get_or_import_dmabuf(&mut self, dmabuf: Dmabuf) -> anyhow::Result> { + let key = dmabuf.weak(); + + if let Some(view) = self.dmabufs.get(&key) { + return Ok(view.clone()); + } + let mut frame = DmabufFrame { format: FrameFormat { width: dmabuf.width(), @@ -127,7 +133,7 @@ impl ImageImporter { let image = self.gfx.dmabuf_texture(frame)?; let image_view = ImageView::new_default(image)?; - self.dmabufs.insert(dmabuf.weak(), image_view.clone()); + self.dmabufs.insert(key, image_view.clone()); Ok(image_view) }