AMD Navi 1X, Vega, and Polaris GPU might support ray tracing through this software implementation
Everything can be done with simple shaders, just not everything will be just as fast.
There is a reason why NVIDIA has RT Cores and AMD introduced Ray Accelerators with their RDNA2 architecture. This type of core is specifically designed to accelerate bounding volume hierarchy (BVH) instructions, which are used to find collisions between rays in a graphics scene. This complex tree structure requires a lot of computing power, thus GPU makers have designed custom cores specifically designed to solve this issue at a much faster speed. Algorithms not accelerated by ray tracing cores will obviously work slower and the end result will probably be less appealing, at least when real-time graphics are considered.
Mesa, which is an open source implementation of OpenGL & Vulkan API for Linux, has just received an update that might introduce ray tracing support to AMD GPUs that lack Ray Accelerators. Developer Joshua Ashton claims that this technique will work for AMD Navi 1X, Vega, and Polaris GPU.
This PR implements ray-tracing for older generations (Navi, Vega, Polaris, etc.)
It does this by emulating the AMD bvh intersection instructions in software.
Right now this passes CTS the same as on RDNA 2 cards.
— Joshua Ashton
Users have already reported that even Quake II RTX works with this Mesa merge request, but the game needs to be built from the source and the Steam version does not work.
We have recently heard from Ubisoft that they adopted ‘hybrid ray tracing’ into Far Cry 6, which means that the algorithm uses both the shaders and ray tracing cores to achieve the final result. It is unclear though if this implementation requires both cores to be present in the GPU core. However, it is clear that game developers are slowly realizing that ray tracing acceleration can be done in a different, but not always as efficient, way.
AMD RDNA2 Ray Accelerators, Source: AMD