A Morton-kód kulcsok olyan egy dimenziós egész értékek, amelyeket 3D pontok bináris koordinátáinak összefésülésével állítanak elő, hogy a térbeli adatokat egyetlen dimenzióba képezzék le. A Radeon RADV, az Intel ANV, a Turnip Adreno és a Lavapipe Mesa Vulkan driverek eddig ugyanarra a rendező függvényre támaszkodtak ezekhez a kulcsokhoz. Natalie Vock azonban hatékonysági problémákat talált a jelenlegi rendező kódban, ezért készített egy egyedi merge-sort algoritmust, amely kisebb adathalmazoknál jobb teljesítményt ígér. Emellett a vRAM-használat is hatékonyabb lehet.
Natalie Vock a három hónappal ezelőtti merge requestben így foglalta össze a munkáját:
„Egy egyedi merge-sort nagyobb problémaméreteknél valamivel rosszabb lesz, viszont apró problémáknál teljesen leiskolázza a radix sortot. A mergesort egyetlen dispatchen belül fut, köztes barrier nélkül, és szorosabban kapcsolódik a többi AS build kódhoz, így megspórolható egy VRAM-kör, amikor az rendezetlen kulcsokat kiírjuk, majd visszaolvassuk. Elég kicsi problémáknál (RADV esetén 512 elem alatt, 64-es subgroup mérettel) az összes kulcs előállítható és azonnal rendezhető a shared memóriában, anélkül hogy akár egyszer is VRAM-ot érintenénk (kivéve a rendezett adatok kiírását).”
Az új, egyedileg készített merge sort különösen a kis BVH-knál bizonyult gyorsabbnak, és kevesebb vRAM-körrel hatékonyabban működik.
Három hónapnyi tesztelés és felülvizsgálat után, miközben néhány hibát is kijavítottak, a múlt héten beolvasztották a kódot a Mesa 26.3-ba, így minden nyílt forráskódú Vulkan driver profitálhat belőle. Akiket érdekelnek a technikai részletek, itt találják.

