“Don’t ask about performance”
Where is Threadripper where we need it?
Vulkan CPU-based ray tracing, Source: Konstantin Seurer
A Mesa developer has been quietly working on incorporating ray tracing support for CPUs. Whether such support is needed and makes any sense is a different story, but with open-source software, the only constraints are the time developers invest in their projects.
Konstantin Seurer has been able to enable several Vulkan functions to work, such as VK_KHR_acceleration_structure, VK_KHR_deferred_host_operations, and VK_KHR_ray_query. These functions were added to Lavapipe, a Mesa generic CPU-based Vulkan implementation. Worth adding that there is also a LLVMpipe with OpenGL support.
There are many enthusiasts that believe taht such CPU-based rendering makes no sense and such drivers should not be developed, but the truth is that this is not the first time we heard about ray tracing on the CPU in Quake. In 2008, Intel demonstrated Enemy Territory Quake Wars running at 720p resolution at 14 to 29 FPS on 16 core and 20–35 FPS at 24 core CPUs (quad-socket):
The basic implementation of ray tracing in 2008 is not comparable to complex ray tracing techniques designed for GPUs, thus the performance on modern system is actually much lower. Beyond that, that game was specifically designed for the Intel architecture and used a specific API to achieve that. Sadly, the original ET demo is no longer available, it would be interesting to see how it performs today.
With ray tracing now working in Lavapipe, Konstantin work will be added to Mesa 24.1 release.
Source: Freedesktop , Phoronix