Az Intel nyílt forráskódú, Linuxon használt ANV Vulkan-meghajtója (Vulkan driver) egy új képességgel bővült: megérkezett a BTP+BTI RCC Keying támogatása. A név elsőre elég rejtélyesnek tűnhet, de a lényeg röviden az, hogy ez a fejlesztés kézzelfogható teljesítménynyereséget hozhat a Direct3D 12-es (DX12) játékoknál Linux alatt, különösen akkor, ha azok a Valve-féle Steam Play/Proton rétegen keresztül futnak, a DX12–Vulkan fordítást pedig a VKD3D-Proton végzi.
Érdekesség, hogy a funkciót engedélyező fő patch nem friss keletű: több mint öt éve, 2020 novemberében készült, és most, 2026.1-devel ágon került be végül a Mesa grafikus stackbe. A módosítás indoklása szerint a legfontosabb üzenet a DG2/Alchemist és újabb Intel GPU-k tulajdonosainak szól: a tesztelt DX12-es terheléseknél minden esetben teljesítményelőnyt hozott.
A beolvasztás nem egyetlen változtatásból állt: a fő patch mellett további, újabb javítások és ANV-frissítések is érkeztek, amelyek a funkció körüli finomhangolásokat és hibajavításokat célozzák. A Mesa világában ez gyakori: egy régebbi, „jó ötlet, de sokáig parkolópályán lévő” patch végül akkor kerül be, amikor a környezet, a tesztelés és a kapcsolódó kód is elég éretté válik.
A változtatás lényege és indoklása a patch leírása szerint a következő.
A fejlesztők szerint elhagyható az RT flush, illetve a PS Scoreboard stall, amennyiben a „state cache perf fix disabled” beállítás 1-re van állítva. Ha ez a bit aktív, akkor az RCC a state cache-ben nem pusztán a Binding Table Indexet használja címkének, hanem a Binding Table Pointer és a Binding Table Index összegét (vagyis BTP+BTI) – ez adja a „BTP+BTI RCC keying” lényegét. A patch legfontosabb állítása pedig az, hogy DirectX 12 alatt ez minden általuk tesztelt terhelésnél teljesítménynyereséget hoz.
Ugyanakkor a fejlesztők megjegyzik, hogy a DX11 esetén több teljesítmény-visszaesést (regressziót) is láttak. A feltételezett ok az, hogy az RCC „szemetelésének” (trashing) elkerüléséhez a binding táblából mindent ki kell venni a render targeteken kívül, így minden shader erőforrás-hozzáférésnek a bindless hardveres heapen (bindless HW heap) keresztül kell történnie. Ez extra regiszterhasználathoz vezet, mert a descriptor setek bázis offsetjét be kell tolni (push) a megfelelő helyre. A fejlesztők szerint ezt valószínűleg a fordító (compiler) további javítása mérsékelheti.
A változtatás egy új DRIRC kulcsot is bevezet, amit alapból csak DX12 esetén kapcsolnak be. Emellett a DG2/LSC előtti platformoknál a bindless heap nagyon kicsi, ami szintén többlet regiszterhasználatot okoz, ezért ott ezt az optimalizációt teljesen letiltják.
A patch legfontosabb üzenete a DG2/Alchemist és újabb Intel GPU-k szempontjából tehát az, hogy: „DX12 alatt ez teljesítménynyereség minden általunk tesztelt workloadnál.” A most beolvasztott merge request nem csak ezt az egy, régi fő patchet tartalmazta: további tíz frissebb patch is része volt, amelyek hibajavításokat és egyéb Intel ANV Vulkan driver (ANV Vulkan driver) frissítéseket hoztak a funkció engedélyezése köré.
A beolvasztott kóddal a DRIConf-ban (DRIConf) a funkció kapcsolója az anv_state_cache_perf_fix opció lett, a leírása pedig: „Whether COMMON_SLICE_CHICKEN3 bit13 should be programmed to enable BTP+BTI RCC keying”, azaz hogy a COMMON_SLICE_CHICKEN3 13. bitjét programozza-e a driver a BTP+BTI RCC keying engedélyezéséhez.
Fontos részlet, hogy ez az Intel ANV Vulkan driver oldali kód függ egy Xe kernel driver patchtől is: a szöveg szerint egy Xe kernel driver patch biztosítja a COMMON_SLICE_CHICKEN3 bit13 per-queue (soronkénti/queue-nkénti) programozását. A várakozások alapján ez a kerneloldali változtatás a közelgő Linux 7.1 fejlesztési ciklusban jelenhet meg.
Konkrét teljesítményszámokat a beolvasztáshoz nem mellékeltek, ami Mesa-fejlesztésnél nem ritka: sok optimalizáció először „funkcionálisan helyes és stabil” állapotban kerül be, a részletes benchmarkok pedig később, külön tesztkörökben vagy disztribúciós visszajelzések alapján válnak nyilvánossá. A gyakorlati tanulság ettől még egyértelmű: ha Intel DG2/Alchemist vagy újabb GPU-val futtatsz DX12-es játékokat Linuxon (tipikusan Proton/VKD3D-Proton láncon keresztül), akkor ez a Mesa 26.1 környékén érkező ANV-fejlesztés jó eséllyel kézzelfogható gyorsulást hozhat, feltéve hogy a szükséges kerneloldali Xe támogatás is megérkezik és a disztribúciódban összeáll a teljes grafikus stack.
