24 évvel az ATI R300 megjelenése után, az open-source R300 driver jelentős átdolgozáson megy keresztül

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A régebbi Mesa grafikus driverek leválasztásáról beszélve, az ATI R300 Gallium3D driver még mindig életben van. A R300 Gallium3D driver, amely az ATI R300-tól R500-ig terjedő grafikus kártyákat támogatja, ma jelentős átdolgozáson ment keresztül, amely a driver köztes reprezentációjának (IR) kezelését érinti.

Pavel Ondračka, egy független nyílt forráskódú közreműködő, továbbra is dolgozik a R300g driveren, és egy nagy feladatot tűzött ki célul: megszabadulni a TGSI használatától, és helyette az NIR-t alkalmazni. A TGSI az eredeti Gallium3D köztes reprezentáció, amelyet a Tungsten Graphics indított el, de az összes modern Mesa driver azóta áttért a jobb NIR köztes reprezentáció használatára. Pavel azon dolgozik, hogy a R300g-t közvetlenül NIR-re állítsa át, anélkül, hogy a TGSI-n keresztül kellene lépnie.

Korábban ebben a hónapban azonban a mai izgalmas mérföldkő, hogy az első összevonás megtörtént a Mesa 26.2-hez. Pavel a merge request első részében így nyilatkozott:

"Itt van az első lépés a TGSI eltávolításában a r300-ból, amely a nehéz munkát végzi el, kivéve a draw swtcl utakat. Ebből sok már több mint egy éve egy ágon várakozott, hogy Mike éves 'dobd el a régi dolgokat' kirohanása végre elinduljon. Ez a MR technikailag nem vezet be NIR-alapú backend-et, az valójában már egy ideje megtörtént a !23437 (összevonva). Akkoriban arra törekedtem, hogy sok alacsonyabb szintű feladatot áthelyezzek a backendből az NIR-be, és bár a testreszabott finalize_nir néhány lehetőséget kínált, a ntt-ben lévő rögzített passzálási sorrend sok korlátozással járt. Próbáltam még néhány megközelítést, de végül főleg lemásoltam az ntt-t a r300-ra, eltávolítottam néhány felesleges részt, majd idővel jelentősen finomítottam az NIR passzokon és új HW-specifikusakat adtam hozzá. Azonban a végső fordítás még mindig NIR->TGSI->RC volt. Tehát általánosságban ez a sorozat főleg a technikai deb eltávolításáról szól, amit kezdetben nem voltam elég ügyes/motivált, hogy megtegyek. A backend IR (a pár fordítás előtt) főleg 1:1 arányban megfelel a TGSI-nek, csak néhány extra hw-specifikus dologgal, mint például a konstans swizzlek, csatornánkénti negálás stb., így bár ez egy elég nagy eltérés, főleg a TGSI ureg_* részek unalmas helyettesítése a backend megfelelő részeivel. A Codex-et használták a későbbi keresés- és helyettesítés-szerű javítócsomagokhoz."

Jó látni, hogy a ChatGPT Codex segít a több mint két évtizedes GPU-k javítócsomagjainak kidolgozásában.

A R300g TGSI eltávolításának folyamata még nem ért véget, de örömteli látni, hogy közelebb kerül a befejezéshez. Pavel folyamatos munkája a r300_no_tgsi Git ágban található.