From 3ef408b5b4a233ed1fe9eb30a021ba0c71c4cb37 Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Tue, 10 Feb 2026 18:30:39 +0100 Subject: [PATCH] vulkan: log information about mixed device use --- src/gfx_apis/vulkan/image.rs | 2 +- src/gfx_apis/vulkan/renderer.rs | 12 ++++++++++++ src/renderer/renderer_base.rs | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/gfx_apis/vulkan/image.rs b/src/gfx_apis/vulkan/image.rs index 21dd6290..45da6861 100644 --- a/src/gfx_apis/vulkan/image.rs +++ b/src/gfx_apis/vulkan/image.rs @@ -101,7 +101,7 @@ pub enum QueueTransfer { pub enum VulkanImageMemory { DmaBuf(VulkanDmaBufImage), Internal(VulkanShmImage), - Blend(#[expect(dead_code)] VulkanAllocation), + Blend(VulkanAllocation), } pub struct VulkanDmaBufImage { diff --git a/src/gfx_apis/vulkan/renderer.rs b/src/gfx_apis/vulkan/renderer.rs index cdb88bcc..29a983a2 100644 --- a/src/gfx_apis/vulkan/renderer.rs +++ b/src/gfx_apis/vulkan/renderer.rs @@ -2117,6 +2117,18 @@ impl Debug for VulkanRenderer { impl VulkanImage { fn assert_device(&self, device: &Device) -> Result<(), VulkanError> { if self.renderer.device.device.handle() != device.handle() { + match &self.ty { + VulkanImageMemory::DmaBuf(v) => { + log::warn!("Mixed device use with dmabuf {}", v.template.dmabuf.id); + } + VulkanImageMemory::Internal(_v) => { + log::warn!("Mixed device use with internal image"); + } + VulkanImageMemory::Blend(_v) => { + log::warn!("Mixed device use with blend buffer"); + } + } + log::info!("Image address {:?}", ptr::from_ref(self)); return Err(VulkanError::MixedVulkanDeviceUse); } Ok(()) diff --git a/src/renderer/renderer_base.rs b/src/renderer/renderer_base.rs index 4d544998..962c18db 100644 --- a/src/renderer/renderer_base.rs +++ b/src/renderer/renderer_base.rs @@ -182,6 +182,9 @@ impl RendererBase<'_> { opaque: bool, cd: &Rc, ) { + // log::info!("rendering texture {:?}", std::ptr::from_ref(&**texture) as *const u8); + // log::info!("{:?}", backtrace::Backtrace::new()); + let mut texcoord = tpoints.unwrap_or_else(SampleRect::identity); let (twidth, theight) = if let Some(size) = tsize {