Name Description Size
adapter.rs 118700
command.rs 49064
conv.rs 40960
device.rs 120359
drm.rs The makedev call is just bit manipulation to combine major and minor device numbers into a Unix device ID. It doesn't perform any filesystem operations, only bitshifting. See: https://github.com/rust-lang/libc/blob/268e1b3810ac07ed637d9005bc1a54e49218c958/src/unix/linux_like/linux/mod.rs#L6049 We use the resulting device IDs to check if the Vulkan raw device from enumerate_physical_devices matches the DRM device referred to by our file descriptor. 5544
instance.rs 45434
mod.rs ! # Vulkan API internals. ## Stack memory Ash expects slices, which we don't generally have available. We cope with this requirement by the combination of the following ways: - temporarily allocating `Vec` on heap, where overhead is permitted - growing temporary local storage ## Framebuffers and Render passes Render passes are cached on the device and kept forever. Framebuffers are also cached on the device, but they are removed when any of the image views (they have) gets removed. If Vulkan supports image-less framebuffers, then the actual views are excluded from the framebuffer key. ## Fences If timeline semaphores are available, they are used 1:1 with wgpu-hal fences. Otherwise, we manage a pool of `VkFence` objects behind each `hal::Fence`. ! 52331
sampler.rs Sampler cache for Vulkan backend. Nearly identical to the DX12 sampler cache, without descriptor heap management. 6953