Open ids1024 opened 2 months ago
sudo bpftrace -p $(pidof cosmic-workspaces) -e 'uprobe:libvulkan:vkCreateWaylandSurfaceKHR { @ptr = arg3; } uretprobe:libvulkan:vkCreateWaylandSurfaceKHR { printf("Create Vulkan surface %d\n", *@ptr); } uprobe:libvulkan:vkDestroySurfaceKHR { printf("Destroy Vulkan surface %d\n", arg1) }'
It seems all the Vulkan surfaces are being destroyed correctly, at least...
renderdoc
doesn't seem to recognize the API being used by cosmic-workspaces
, so I'm not sure it can help.
cat /proc/$(pidof cosmic-workspaces)/maps | grep i915 | wc -l
seems to suggest that showing and hiding workspaces sometimes, at least, also leaks buffers.
Ah, the same thing seems to happen with upstream Iced in the multi_window
example. So it's presumably an iced_wgpu
bug and not related to iced-sctk
.
I guess
iced_sctk
is not destroying the drag surface buffers properly? Though looking at it I don't see anything obviously wrong...