A RadeonSI 2026 elején: átfogó NIR-refaktorálás a gyorsabb működés és rövidebb GLSL-fordítási idők érdekében

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

Az új év első napján jelentős fejlesztés került beolvasztásra a Mesa grafikus stack fejlesztői ágába: Marek Olšák, az AMD egyik legismertebb Mesa-fejlesztője összesen 36 patchből álló sorozatot olvasztatott be, amely a RadeonSI Gallium3D OpenGL-meghajtó NIR fordítási kódját érinti. A változtatások a Mesa 26.0-devel ágába kerültek, így a negyedév végére várható Mesa 26.0 kiadás már tartalmazni fogja ezt az átfogó átalakítást.

A munka középpontjában a NIR (New Intermediate Representation) fordítási folyamatának refaktorálása áll, amely kulcsszerepet játszik az OpenGL shaderek – különösen a GLSL (OpenGL Shading Language) – feldolgozásában. Bár a módosítások első látásra „belső” jellegűek, hatásuk nagyon is kézzelfogható lehet a végfelhasználók számára, mind teljesítményben, mind fordítási időkben.

A mérési eredmények alapján a változtatások már most is kimutatható előnyökkel járnak. A shader-db tesztek szerint a GLSL fordítási idők csökkentek: a valós futási idő (real) 1,7%-kal, a felhasználói CPU-idő (user) 3,2%-kal, míg a rendszeridő (sys) akár 20%-kal is mérséklődött. Ezek az értékek különösen akkor válnak fontossá, amikor sok shader fordítása történik rövid idő alatt, például játékindításkor vagy komplex OpenGL-alkalmazások betöltésekor.

Teljesítményoldalon is várható előrelépés, különösen olyan esetekben, amikor a fragment shader (FS) szín-bemenetei aktívan használatban vannak. Emellett több konkrét hibajavítás is bekerült, például a fragment shader színkezelésével, valamint a mediump XFB (transform feedback) támogatásával kapcsolatban, ami a kompatibilitás és a stabilitás szempontjából sem elhanyagolható.

Fejlesztői szempontból az egyik legfontosabb változás, hogy a korábban meglehetősen zsúfolt finalize_nir függvényből a kód nagy része átkerült az úgynevezett pre-link fázisokba. Ennek célja, hogy a végső NIR-lezáró lépések a jövőben a lehető legkisebbek és legegyszerűbbek legyenek. Ez a tisztább felépítés nemcsak a RadeonSI karbantarthatóságát javítja, hanem hosszabb távon megnyithatja az utat a NIR fordítás egységesítése felé a RADV Vulkan-meghajtóval, amennyiben erre a jövőben lehetőség nyílik.

A refaktorálás részeként megtörtént némi „nagytakarítás” is: eltávolításra került az évek óta nem használt glsl_tests alkönyvtár, valamint számos átnevezés, kódletisztítás és szerkezeti átrendezés segíti a jobb átláthatóságot. Összességében több mint ezer sornyi kód átdolgozásáról van szó, ami jól mutatja a változtatás léptékét.

Mindez azt jelenti, hogy a Mesa 26.0 megjelenésével – amely a tervek szerint 2026 első negyedévének végére várható – az AMD GCN és RDNA alapú grafikus kártyákat használó Linux-felhasználók egy letisztultabb, gyorsabb és hosszabb távon jobban karbantartható RadeonSI OpenGL-meghajtót kapnak. Bár ezek a fejlesztések nem látványos funkciók formájában jelennek meg, pontosan azok a mélyreható technikai finomítások, amelyek hosszú távon stabilabb és gyorsabb grafikus élményt biztosítanak Linuxon.

Hozzászólások

Balazs_B képe

Koszi az írást!

Értékelés: 

0
Még nincs értékelve

Koszi az írást!
 

Hiánypótló. Nekem is van egy HD7790/R7 260X kártyám aminél paraméterekkel beállítani az AMD GPU drivert, ahogy leírtad. Ezt jó ha tudja az ember, mert ha játszani akar vele és miért ne akarna, a Vulkan használatához az elengedhetetlen.