Vulkan API 1.3 released, new roadmap and profiles feature

By - | Views: 16,207

Today is the release of the Vulkan API 1.3 specification update and The Khronos Group has put up a press release going over the changes. A vital API for the future of Linux gaming and the Steam Deck of course, with Steam Play Proton using Vulkan for the translation from Direct 3D for DXVK and VKD3D-Proton.

At a glance:

  • The Vulkan® 1.3 specification was released today, incorporating and mandating proven, developer-requested extensions to make that functionality consistently available across all supported platforms.
  • The Vulkan Working Group is developing a public roadmap to provide guidance on when and where more advanced Vulkan functionality will be supported. The Vulkan Roadmap 2022 milestone for mid-to-high-end hardware defines features beyond Vulkan 1.3 that will be available starting this year.
  • Vulkan profiles will be introduced, with tooling, in the February 2022 Vulkan 1.3 SDK to precisely specify, manage and use sets of API capabilities. Profiles will be used to communicate functionality requirements for roadmaps, markets, platforms, and hardware and software developers.

Vulkan 1.3 includes a number of extensions into the main core of Vulkan like dynamic rendering, an improved synchronization API and various other features. Khronos mentioned that no features added in 1.3 are optional to ensure consistency across the industry.

“In this new phase of Vulkan's evolution, the Vulkan Working Group is taking significant steps to reduce fragmentation across the ecosystem and increase Vulkan’s value to the industry as a reliable cross-platform GPU API. We continue to expose new hardware features as extensions while improving the Vulkan API with new core versions that are portable to a wide range of devices. And now with the Vulkan Roadmap, we are committing to enhanced transparency and communication to forge industry consensus on baseline functionality Profiles that best serve Vulkan’s key markets,” said Tom Olson, Vulkan Working Group Chair and Distinguished Engineer at Arm.

Vulkan continues to see industry-wide support from AMD, NVIDIA, Arm, Google and more companies.

On the driver side things are looking to be in pretty good shape. NVIDIA has release their new Vulkan Beta Driver version 470.62.22 which includes a "Fully conformant Vulkan 1.3 implementation".  On the open source Mesa side there's merge requests up for Intel ANV and AMD RADV. NVIDIA also have their own blog post going over some details.

Article taken from GamingOnLinux.com.
Tags: Drivers, Meta, Vulkan
26 Likes
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
22 comments
Page: 1/3»
  Go to:

mirv 25 Jan
View PC info
  • Supporter Plus
Out of everything, the point of most interest to me is that 1.3 isn't introducing new features are optional - so if 1.3 can be queried, then it's known certain features will be there. It helps everyone: developers can just say "needs Vulkan 1.3", GPU manufacturers can say "hardware supports Vulkan 1.3", and drivers can be tagged as "supports Vulkan 1.3". Good for everyone to have these stable release points every now and then.
Peak 25 Jan
Hopefully the dynamic rendering extension means we will finally be able to get Halo Infinite running.
mirv 25 Jan
View PC info
  • Supporter Plus
Quoting: PeakHopefully the dynamic rendering extension means we will finally be able to get Halo Infinite running.

Not sure what one has to do with the other?
Shmerl 25 Jan
Are ray tracing features optional in general? I.e. they aren't part of any Vulkan version?
mirv 25 Jan
View PC info
  • Supporter Plus
Quoting: Guest
Quoting: mirv
Quoting: PeakHopefully the dynamic rendering extension means we will finally be able to get Halo Infinite running.

Not sure what one has to do with the other?

Halo Infinite, being a flagship Microsoft product built on a new game engine, acts as sort of a tech demo for Microsoft to show off new features in DirectX12 Ultimate/Xbox Series consoles. In other words, they get deep in the DX12 API and use features most other games haven't adopted yet. Some of those more obscure, less used DX12 Ultimate features don't have trivial or straightforward analogs in the current version of Vulkan, which makes the game challenging to support flawlessly with DXVK.

A new version of Vulkan with new features means that some of those DX12 features now do have straightforward Vulkan equivalents, which means that DXVK can better support them and games like Halo Infinite might work a little better. Dynamic rendering sounds like it's one of those features.

I see where you're coming from, but no, dynamic rendering is nothing to do with that. It relates more dynamic usage (hence the name) of the default framebuffer for rendering output. In essence is allows a lot of framebuffer and renderpass setup to be simplified when interacting with Vulkan, for certain use cases.

Actually it's probably more useful for handling things like DX9 or OpenGL over Vulkan.
ShabbyX 26 Jan
Quoting: mirv
Quoting: Guest
Quoting: mirv
Quoting: PeakHopefully the dynamic rendering extension means we will finally be able to get Halo Infinite running.

Not sure what one has to do with the other?

Halo Infinite, being a flagship Microsoft product built on a new game engine, acts as sort of a tech demo for Microsoft to show off new features in DirectX12 Ultimate/Xbox Series consoles. In other words, they get deep in the DX12 API and use features most other games haven't adopted yet. Some of those more obscure, less used DX12 Ultimate features don't have trivial or straightforward analogs in the current version of Vulkan, which makes the game challenging to support flawlessly with DXVK.

A new version of Vulkan with new features means that some of those DX12 features now do have straightforward Vulkan equivalents, which means that DXVK can better support them and games like Halo Infinite might work a little better. Dynamic rendering sounds like it's one of those features.

I see where you're coming from, but no, dynamic rendering is nothing to do with that. It relates more dynamic usage (hence the name) of the default framebuffer for rendering output. In essence is allows a lot of framebuffer and renderpass setup to be simplified when interacting with Vulkan, for certain use cases.

Actually it's probably more useful for handling things like DX9 or OpenGL over Vulkan.

It's more than for _certain_ use cases and GL emulation. The dynamic rendering extension dispenses with framebuffers and render pass objects altogether, which have been a constant source of pain for developers. In truth, render passes are still _the_ optimal way for tile-based renderers, but dynamic rendering makes things much simpler for apps targeted at desktop.
mirv 26 Jan
View PC info
  • Supporter Plus
Quoting: ShabbyX
Quoting: mirv
Quoting: Guest
Quoting: mirv
Quoting: PeakHopefully the dynamic rendering extension means we will finally be able to get Halo Infinite running.

Not sure what one has to do with the other?

Halo Infinite, being a flagship Microsoft product built on a new game engine, acts as sort of a tech demo for Microsoft to show off new features in DirectX12 Ultimate/Xbox Series consoles. In other words, they get deep in the DX12 API and use features most other games haven't adopted yet. Some of those more obscure, less used DX12 Ultimate features don't have trivial or straightforward analogs in the current version of Vulkan, which makes the game challenging to support flawlessly with DXVK.

A new version of Vulkan with new features means that some of those DX12 features now do have straightforward Vulkan equivalents, which means that DXVK can better support them and games like Halo Infinite might work a little better. Dynamic rendering sounds like it's one of those features.

I see where you're coming from, but no, dynamic rendering is nothing to do with that. It relates more dynamic usage (hence the name) of the default framebuffer for rendering output. In essence is allows a lot of framebuffer and renderpass setup to be simplified when interacting with Vulkan, for certain use cases.

Actually it's probably more useful for handling things like DX9 or OpenGL over Vulkan.

It's more than for _certain_ use cases and GL emulation. The dynamic rendering extension dispenses with framebuffers and render pass objects altogether, which have been a constant source of pain for developers. In truth, render passes are still _the_ optimal way for tile-based renderers, but dynamic rendering makes things much simpler for apps targeted at desktop.

If you want to get picky, be my guest, but I'll feel obliged to point out simpler for apps targeted at desktop that don't use render sub-passes (for example, if an initial colour pass is also calculating normal values and feeding them along with depth values directly into a lighting pass, then that can be optimised greatly using a sub-pass even on desktop). Once any particular sub-pass is desired, then the benefits of the dynamic rendering extension are limited somewhat and may as well not be used.
Peak 26 Jan
Quoting: mirv
Quoting: Guest
Quoting: mirv
Quoting: PeakHopefully the dynamic rendering extension means we will finally be able to get Halo Infinite running.

Not sure what one has to do with the other?

Halo Infinite, being a flagship Microsoft product built on a new game engine, acts as sort of a tech demo for Microsoft to show off new features in DirectX12 Ultimate/Xbox Series consoles. In other words, they get deep in the DX12 API and use features most other games haven't adopted yet. Some of those more obscure, less used DX12 Ultimate features don't have trivial or straightforward analogs in the current version of Vulkan, which makes the game challenging to support flawlessly with DXVK.

A new version of Vulkan with new features means that some of those DX12 features now do have straightforward Vulkan equivalents, which means that DXVK can better support them and games like Halo Infinite might work a little better. Dynamic rendering sounds like it's one of those features.

I see where you're coming from, but no, dynamic rendering is nothing to do with that. It relates more dynamic usage (hence the name) of the default framebuffer for rendering output. In essence is allows a lot of framebuffer and renderpass setup to be simplified when interacting with Vulkan, for certain use cases.

Actually it's probably more useful for handling things like DX9 or OpenGL over Vulkan.

Halo Infinite specifically uses DX12's dynamic rendering, which there is currently a draft to implement in dxvk
mirv 26 Jan
View PC info
  • Supporter Plus
Quoting: Peak
Quoting: mirv
Quoting: Guest
Quoting: mirv
Quoting: PeakHopefully the dynamic rendering extension means we will finally be able to get Halo Infinite running.

Not sure what one has to do with the other?

Halo Infinite, being a flagship Microsoft product built on a new game engine, acts as sort of a tech demo for Microsoft to show off new features in DirectX12 Ultimate/Xbox Series consoles. In other words, they get deep in the DX12 API and use features most other games haven't adopted yet. Some of those more obscure, less used DX12 Ultimate features don't have trivial or straightforward analogs in the current version of Vulkan, which makes the game challenging to support flawlessly with DXVK.

A new version of Vulkan with new features means that some of those DX12 features now do have straightforward Vulkan equivalents, which means that DXVK can better support them and games like Halo Infinite might work a little better. Dynamic rendering sounds like it's one of those features.

I see where you're coming from, but no, dynamic rendering is nothing to do with that. It relates more dynamic usage (hence the name) of the default framebuffer for rendering output. In essence is allows a lot of framebuffer and renderpass setup to be simplified when interacting with Vulkan, for certain use cases.

Actually it's probably more useful for handling things like DX9 or OpenGL over Vulkan.

Halo Infinite specifically uses DX12's dynamic rendering, which there is currently a draft to implement in dxvk

I think that refers to dynamic resolution rendering, which is not the same as Vulkan's dynamic rendering extension.
ShabbyX 26 Jan
Quoting: mirv
Quoting: ShabbyX
Quoting: mirv
Quoting: Guest
Quoting: mirv
Quoting: PeakHopefully the dynamic rendering extension means we will finally be able to get Halo Infinite running.

Not sure what one has to do with the other?

Halo Infinite, being a flagship Microsoft product built on a new game engine, acts as sort of a tech demo for Microsoft to show off new features in DirectX12 Ultimate/Xbox Series consoles. In other words, they get deep in the DX12 API and use features most other games haven't adopted yet. Some of those more obscure, less used DX12 Ultimate features don't have trivial or straightforward analogs in the current version of Vulkan, which makes the game challenging to support flawlessly with DXVK.

A new version of Vulkan with new features means that some of those DX12 features now do have straightforward Vulkan equivalents, which means that DXVK can better support them and games like Halo Infinite might work a little better. Dynamic rendering sounds like it's one of those features.

I see where you're coming from, but no, dynamic rendering is nothing to do with that. It relates more dynamic usage (hence the name) of the default framebuffer for rendering output. In essence is allows a lot of framebuffer and renderpass setup to be simplified when interacting with Vulkan, for certain use cases.

Actually it's probably more useful for handling things like DX9 or OpenGL over Vulkan.

It's more than for _certain_ use cases and GL emulation. The dynamic rendering extension dispenses with framebuffers and render pass objects altogether, which have been a constant source of pain for developers. In truth, render passes are still _the_ optimal way for tile-based renderers, but dynamic rendering makes things much simpler for apps targeted at desktop.

If you want to get picky, be my guest, but I'll feel obliged to point out simpler for apps targeted at desktop that don't use render sub-passes (for example, if an initial colour pass is also calculating normal values and feeding them along with depth values directly into a lighting pass, then that can be optimised greatly using a sub-pass even on desktop). Once any particular sub-pass is desired, then the benefits of the dynamic rendering extension are limited somewhat and may as well not be used.

Are you suggesting the driver merges the two subpasses' fragment shaders in one in that case? I guess that's doable, though I haven't heard of any driver doing that. Why would an app use two subpasses in that case when they can just do the whole thing in one pass?

Subpasses shine on TBR hardware because an app can do all sorts of stuff in one pass (blend, overdraw etc), then use the results in the second pass without the framebuffer data leaving tile memory. On IMR hardware the draw results end up reaching the memory during the first pass anyway (yes, there's some cache), there's really no benefit to one render pass with two subpasses compared with two render passes as far as I know.

If you know something about this I don't know, I'd be very keen to learn :)
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: Liberapay or PayPal.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.