Expand description
Vulkan backend via ash. First-class: the reference implementation, the conformance oracle other backends are diffed against, and where new features land first.
Vulkan 1.1 is the floor; later features are used when present rather than required. Features avoided for MoltenVK compatibility — geometry shaders, tessellation shaders, sparse residency, multi-draw-indirect-with-count — are none of them needed for 2D.
Implements the Hal and HalContext traits, so the renderer and the
conformance harness can drive this backend without naming it. The concrete
API stays available alongside for bring-up and for tests that need Vulkan
specifics.
Re-exports§
pub use device::ContextConfig;pub use device::DevicePreference;pub use device::FrameSync;pub use device::VulkanContext;pub use fence::VulkanFence;pub use hal::VulkanHal;pub use resource::VulkanTexture;pub use validation::Validated;pub use validation::ValidationLog;pub use validation::ValidationMessage;pub use validation::ValidationSeverity;
Modules§
- device
- Instance and device bring-up, and the capability detection everything above the HAL branches on.
- external
- Exporting images as dma-bufs.
- fence
- Fences, and handing GPU completion to something outside this process.
- hal
- The backend’s implementation of the rendering HAL.
- render
- Render passes, pipelines, and drawing.
- resource
- Images, their memory, and getting pixels back to the CPU.
- sampling
- Texture bindings for the image paint.
- stencil
- The transient stencil attachment clipping is built on.
- validation
- Capturing validation-layer output so tests can assert on it.