The day has arrived, along with the release of Vulkan 1.2.162 being tagged in the Vulkan-Docs repository on GitHub the Vulkan Ray Tracing extensions are now officially released. From being announced as a provisional set in March 2020, The Khronos Group formally announced it's done.
"Welcome to the era of portable, cross-vendor, cross-platform ray tracing acceleration!" - Daniel Koch, NVIDIA
With Vulkan 1.2.162 being tagged a few hours ago, the changelog shows these new extensions being available along with the official Vulkan Ray Tracing release:
- VK_KHR_acceleration_structure
- VK_KHR_ray_tracing_pipeline
- VK_KHR_ray_query
- VK_KHR_pipeline_library
- VK_KHR_deferred_host_operations
This is a huge step forwards for the Vulkan API! Now having a vendor-neutral set of Ray Tracing abilities. This means AMD, NVIDIA and Intel will all be supporting Ray Tracing with Vulkan. For Linux that's especially good, since on Windows you already have DirectX Raytracing (DXR). On Linux, we did have the NVIDIA Ray Tracing with their own extensions since NVIDIA 410.57 in 2018 but now at least we have something all hardware vendors can and will use.
They mentioned that this is just the start, with the full ecosystem of supporting toolkits and validation layers to all get updates to support it. You can follow updates to the ecosystem being updated here.
They've also confirmed that the overall functionality has been unchanged since the provisional release. However, there are still some differences like VK_KHR_ray_tracing being split into three extensions (linked in the list above). There's a few other changes, including those requested by developers of translation layers. See the full announcement for all the info.
Going along with it NVIDIA have released the Vulkan Beta Driver 455.46.02 to support it. NVIDIA also released an updated Vulkan Ray Tracing tutorial and their Nsight Graphics tool version 2020.6 is also out with added support for the new Vulkan Ray Tracing extensions. Meanwhile, Intel will have support for it in 2021 with the release of their dedicated Xe-HPG GPUs, AMD have a Windows driver up for it today but no mention of a fresh Radeon Software for Linux update yet - it's likely the new Mesa 20.3 open source driver update will work with it when it's released soon.
Update 23/11/20, 2PM UTC - The Khronos Group has now formally announced it. The article was updated to reflect this.
Still, I'm glad it's finally here, and hopefully the delay hasn't lost Vulkan critical time with developer mindshare relative to DirectX 12.
Edit:
QuoteThey've also confirmed that the overall functionality has been unchanged since the provisional release.
Ugh. So they just told everyone not to use it for 8 months for literally no reason. Great.
Edit 2:
So, reading through the notes it seems that the problem was trying to have both easy mapping from DXR to Vulkan and easy mapping of Vulkan to Metal. It turns out that they can't have both, and they've decided to ditch Metal. That makes sense for our use-case, but it sucks for Khronos, since MoltenVK was an explicit target for them. I can see why they wouldn't want to take that decision quickly.
Last edited by CatKiller on 23 November 2020 at 2:44 pm UTC
Quoting: Avehicle7887Good good, this means that's 1 less reason for devs to use DX12 and DXR. Convincing them Vulkan is the better option will probably be the hardest part.Xbox ? (Does it have vulkan at all?)
Last edited by axredneck on 23 November 2020 at 2:27 pm UTC
Quoting: axredneckQuoting: Avehicle7887Good good, this means that's 1 less reason for devs to use DX12 and DXR. Convincing them Vulkan is the better option will probably be the hardest part.Xbox ? (Does it have vulkan at all?)
Troll mode on:
Xbox does not have users, so whatever api they have or not...
More serious:
It is a windows 10 it seems, and there is doom eternal on it, so I'd say yes.
Quoting: CatKillerUgh. So they just told everyone not to use it for 8 months for literally no reason. Great.No, they sought feedback from lots of industry vendors across the board. As part of that, as noted, it was split up into multiple extensions so people could use part or all of it. Plus numerous other smaller changes asked by others.
Quoting: Liam DaweI was reading through the notes as you were writing this, and already edited my comment.Quoting: CatKillerUgh. So they just told everyone not to use it for 8 months for literally no reason. Great.No, they sought feedback from lots of industry vendors across the board. As part of that, as noted, it was split up into multiple extensions so people could use part or all of it. Plus numerous other smaller changes asked by others.
Quoting: CatKillerUgh. So they just told everyone not to use it for 8 months for literally no reason. Great.They did because it could have changed during these 8 months. If anyone decided to use it in production then there would be more problems and frustration to solve for literally no reason because it wasn't standardized yet. And it was available before as vendor-specific extensions which are kind of "early access" as I understand it. Because in game engine you'd prefer a single code path instead of several vendor-specific ones, each with unique quirks as usual. That's what Khronos did, they unified all those and now it's guaranteed to be stable and ready to use (as soon as drivers are ready).
Quoting: CatKillerEdit 2:
So, reading through the notes it seems that the problem was trying to have both easy mapping from DXR to Vulkan and easy mapping of Vulkan to Metal.
Was anything achieved in getting the DXR to Vulkan RT mapping to be easier or didn't the notes elaborate on that?
More depots activity detected today, by the way.
See more from me