Skip to main content

Crate impeller_hal_vulkan

Crate impeller_hal_vulkan 

Source
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.