Joshua Ashton Is Porting Vulkan Raytracing to AMD’s Vega, Polaris, Navi

Jun 1, 2021 at 05:30pm EDT
Vulkan Ray Tracing

Vulkan raytracing is being ported to AMD's Vega, Polaris, and Navi graphics cards by Joshua Ashton, known as the developer behind the DirectX to Vulkan translation layer (DXVK), which allows running 3D applications on Linux using Wine.

In a blog post penned just yesterday, Ashton explained that there is no reason for Vulkan raytracing to be limited to Big Navi (AMD's Radeon RX 6000 graphics cards), even though this doesn't guarantee that the performance will be acceptable on older hardware.

Related Story MESA Adds CPU Ray Tracing In Vulkan Driver, A Solid 1 FPS In Quake RTX

Compute ray tracers have existed since forever, so what does the new hardware bring to the table? The answer is... very little.

The new hardware brings two instructions, bvh_intersect_ray, and bvh64_intersect_ray to accelerate BVH ray intersection tests. The functionality is pretty straight forward for the most part: address/id of the bvh node and the ray information goes in, ray distance and barycentric coordinates come out for triangles, and a ordered list (by distance) of children that were hit for box intersections. There is a slight bit more to it, as well such as another triangle modes that can give triangle IDs instead of barycentrics (not sure what that's useful for).

This is nothing that can't simply be emulated by hand with a shader, so as soon as Bas had it working on RDNA 2, I started writing something to lower this instruction into the logic behind it for older generations.

Vulkan raytracing on older generations of AMD hardware is possible and there is no technical reason to not expose it. I am not sure how performant it is going to be yet by the end of everything but it should at least be possible to eventually run games with it.

If I am honest, I see no reason why AMD should not expose this in their open/proprietary drivers, even if it runs bad. In my opinion it would be a better marketing strategy to show a solid performance delta in ray-tracing performance from say Vega/RDNA1 -> RDNA2 rather than artificially locking out customers with older GPUs.

Via Mesa's unofficial RADV (Radeon Vulkan driver), he already managed to expose some of the functionality. You can check out his work on this repository, though RADV as a whole isn't ready yet to run actual games. When that happens, we'll be sure to let you know.

In other Linux gaming news, NVIDIA is collaborating with Valve to bring DLSS support to Proton; Vulkan titles will have it enabled this month, while DirectX support is scheduled for this Fall.

About the author: With over two decades of experience in gaming journalism, Alessio Palumbo has led the gaming vertical at Wccftech since August 2015. He started working at a young age for Italian websites like Everyeye.it, Gamestar.it, Nextgame.it, and Multiplayer.it before kickstarting the indie English-language publication Worlds Factory as its founder and Editor in Chief. In the last decade, he has coordinated the overall output of Wccftech's gaming section, managed PR relations, assigned reviews, produced daily news coverage, edited gaming content as needed, and delivered game reviews. Arguably, his trademark content is the long series of exclusive developer interviews that have been cited by Wikipedia and by the biggest news media and gaming publications. His passion for technology also makes him knowledgeable when it comes to gaming hardware and tech. His favorite genres include RPGs, MMORPGs, and action/adventure games.

Follow Wccftech on Google to get more of our news coverage in your feeds.