1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! Native Vulkan backend for custom Aetna hosts.
//!
//! Most applications should implement `aetna_core::App` and run it
//! through `aetna-winit-wgpu`. Use this crate directly when you are
//! validating backend parity or embedding Aetna into an existing Vulkan
//! renderer built on `vulkano`.
//!
//! The public entry point is [`Runner`]. Its surface mirrors
//! `aetna-wgpu::Runner` where the GPU APIs allow it: the host owns the
//! window, device, queue, swapchain, and event loop; the runner owns
//! Aetna interaction state, layout/draw-op preparation, Vulkan
//! pipelines, text atlas images, and icon rendering.
//!
//! WGSL remains the shader source language. This backend uses [`naga`]
//! to compile WGSL to SPIR-V when building pipelines so custom shader
//! fixtures can be shared with the `wgpu` backend.
pub use ;
pub use ;
pub use ;
/// Vulkan device features the runner's stock pipelines depend on.
/// Hosts must merge this with their own required features when calling
/// `Device::new(..., DeviceCreateInfo { enabled_features, .. })` —
/// otherwise pipeline construction panics with a SPIR-V validation
/// error like "uses the SPIR-V capability `SampleRateShading`".
///
/// Currently this is just `sample_rate_shading`, used by
/// `stock::rounded_rect`'s `@interpolate(perspective, sample)` to keep
/// quad antialiasing one screen-pixel wide under MSAA. Wgpu's
/// device-creation flow turns this on by default; vulkano's doesn't.