Prototype, then integrate
2021–2023 · Driver and rendering research. A desktop GPU vendor asked us to investigate acceleration-structure construction inside their Vulkan Linux driver. We used Breda to develop a clean-slate prototype builder before integrating a top-level acceleration-structure builder into the driver itself.
By the end of 2022 the integrated builder was running a shipped AAA title without crashing, which is the point at which driver work stops being a prototype.
The engineering work
The investigation covered refit algorithms, PLOC++ construction, batched builds, treelet reordering and rebraiding. Sorting experiments compared merge sort, a vendor parallel sort and Onesweep. Scratch-memory requirements and the balance between construction speed and traversal quality were part of the same problem.
Later work brought a PLOC++ top-level builder into the driver’s shipping ray-tracing library. Profiler markers emitted from Rust connected implementation behaviour to the vendor’s own tooling.
Evaluation in real workloads
We tested against captures from several shipped titles. One of those investigations identified and removed a CPU bottleneck. The work connected algorithm design and driver integration to correctness, instrumentation and the behaviour of real applications, which is where a builder either holds up or does not.
Work with us