ash icon indicating copy to clipboard operation
ash copied to clipboard

Vulkan 1.4 support

Open chrisprobst opened this issue 3 months ago • 7 comments

First, thanks for this project, you are doing a great job!

I keep an eye out for 1.4 support for a while. I know there is a branch, and some work left. However, work seem to have stalled.

I am wondering, is a 1.4 release (0.39 I guess?) planned to be released anytime soon? And if not, I would be happy to learn about the why, just genuinely interested.

Thanks!

chrisprobst avatar Oct 16 '25 16:10 chrisprobst

https://github.com/ash-rs/ash/milestone/2 target date is december

unschlagbar avatar Oct 19 '25 15:10 unschlagbar

@unschlagbar Which December? The Milestone says December 6, 2100. Haha.

chrisprobst avatar Oct 19 '25 15:10 chrisprobst

I've read through the open issues and PRs. Just to understand: The current understanding is that support for 1.4 requires a rewrite of the somewhat half-baked vk.xml parser and that this work basically stalled? I am curious and genuienly interested, why is that? Is this crate in maintenance-only mode? Is it not interesting because the main user of this crate is wgpu which basically does not care about later versions? If all of these questions are yes, this sounds like a new vulkan binding might be relevant so that the goals are decoupled (wgpu base vs. general VK usage). After looking at the parser code I understand why the general tone in the issues and PRs is that a rewrite is required.

chrisprobst avatar Dec 01 '25 10:12 chrisprobst

Vulkan 1.4 support is planned using the existing generator. Work is proceeding (see merged PRs), but maintenance is on a volunteer basis and we have very limited time to work on ash, so it will take some time.

Ralith avatar Dec 02 '25 01:12 Ralith

To add to that, Vulkan 1.4 doesn't require any of those alleged parser (neither generator, in case you meant that?) changes; the PR with the new API has been open for months already: #1000

It is that we have committed to the next round of breaking changes (to address existing soundness issues), and that there are a few more breaking changes I really want to make before cutting the next release (specifically: hiding provisional extensions to allow future breaking changes: #952). While not technically hard or interesting, they just took a very long time to materialize. But I think I'm almost done with the final checks to merge it, after which point all new 1.4 features and extensions can be trivially rebased and merged.

MarijnS95 avatar Dec 02 '25 10:12 MarijnS95

Thank you both for the detailed answers, this really helps. So is it fair to assume that 1.4 won't require a major redesign of the current API, I mean, for users?

chrisprobst avatar Dec 02 '25 12:12 chrisprobst

1.4 itself does not, but we do have some breaking changes (to fix aforementioned soundness issues and hide provisional extensions) that will be part of the same breaking ash release.

However, Vulkan 1.4.330 completely redesigned how core functionality is represented in the spec; base, graphics and compute "features" are split out from each other while hierarchically depended on: https://github.com/KhronosGroup/Vulkan-Headers/pull/573. I'll discuss this in a new issue.

MarijnS95 avatar Dec 03 '25 11:12 MarijnS95