ash
ash copied to clipboard
Introduce ash-swapchain helper crate
This implements a reusable, lightly-opinionated helper for typical resizable windowed swapchain operation, which is otherwise error-prone.
I'm now confident the resize handling here is as well-behaved as the presentation API permits. Expanded the doc comments a good bit too.
A few high level comments:
This would need a readme that quickly explains the purpose of this library (The why and how). Similar to what ash-window has. We should probably also promote our helper crates in the main readme
On another note, should we use this in the ash examples as well?
Added a brief README.
On another note, should we use this in the ash examples as well?
I'm kinda tempted to drop ash's current example entirely in favor of something like this demo.rs; if we don't try to teach Vulkan in general and focus on maximal simplicity, the (currently empirically unsustainable) maintenance effort required to keep the example in good shape will be much reduced.
Replaced the AcquiredFramge::generation: u64 with a AcquiredFrame::invalidate_images: bool to make things a little less opinionated.
This should be heavily revised to take advantage of VK_EXT_swapchain_maintenance1, which resolves some key ambiguities in the base extension.