Hirdetés

Már majdnem révbe ért a portolható Vulkan konstrukció

Három évig tartott, de a Khronos Group megküzdött a piac fragmentációjával.

A Khronos Group nagyjából három éve jelentette be a portolható Vulkan konstrukciót, amely végre felmutathatja első eredményeit, ugyanis a munkálatok gyakorlatilag a végéhez közelednek. Ez persze nem azt jelenti, hogy nem lesznek későbbi fejlesztések, csupán arról van szó, hogy alkalmazás szintjén bevethető formában is révbe ér a projekt, márpedig ez a legfőbb cél.

Hirdetés

A portolható Vulkan konstrukcióra érdemes nem egy nagy, hanem több kisebb komponensként tekinteni. A Khronos Group pusztán a különböző implementációk munkáját segítette, és reagáltak a felmerülő problémákra. Többek között készítettek egy specifikus Vulkan kiterjesztést, amely végül a VK_KHR_portability_subset néven vált elérhetővé, és ugyanazt kínálja, mint a kísérleti változat, amiről az alábbi hírben már írtunk.


[+]

Az egyszerű érthetőség érdekében a Khronos Group egy fentebb látható táblázatban foglalta össze a komponenseket. A Vulkan szempontjából az első oszlop és az első sor a fontos. Utóbbi lényegében azokat az opciókat említi, amelyek az egyes API-kat implementálták Vulkánra. Ez fontos projekt, hiszen így lehetőség adódik a gyártók számára, hogy a régi API-knál eldobják a natív implementációt, amivel jelentős költségeket tudnak spórolni. Ugyanakkor a jelen cikkünk témája szempontjából lényegesebb inkább az oszlopot nézni, ahol viszont maga a Vulkan API van implementálva a megemlített grafikus API-kra.

A projekt legfontosabb elemeinek igazából a Metalra való implementációk számítanak, ugyanis a legtöbb operációs rendszer esetében megoldható a Vulkan natív támogatása is, ami a legjobb opció, nem lebecsülve az egyes komponensekbe fektetett munkát. Az Apple iOS és macOS rendszerén viszont nem érhető el a Vulkan API, így itt el kellett készíteni az implementációt konkrétan a Metal API-ra. Itt két opció van, a MoltenVK, illetve a gfx-portability, továbbá a LunarG portolta a Vulkan SDK-t macOS-re, amivel egyszerűbbé tette a Vulkánra írt, de végeredményben Metal API-n futó alkalmazások fejlesztését.


[+]

Ezekkel a lehetőségekkel nem szükséges az Apple Metal API-ját natívan támogatni, egyszerűen elég a Vulkan API-ra írni a programot, majd vagy a MoltenVK, vagy a gfx-portability segítségével futtatni azt. Magát a lehetőséget az Apple nem tiltja, alapvetően számukra is hasznos, ha több program lesz elérhető a platformjaikon, bár bizonyos, hogy nem fogják majd reklámozni az irányt.

A konstrukció egyelőre előzetes formában érhető el, de tulajdonképpen működik. A további munka szempontjából a véglegesítés van hátra, majd erre építve módosul a hitelesítési teszt is. Utóbbi kiegészül egy ellenőrzéssel, ami megállapítja, hogy az adott Vulkan implementáció milyen köztes réteget használ, ha egyáltalán épít ilyenre.

Az egész rendszerrel egyébként nagy szolgálatot tesz az iparágnak a Khronos Group, ugyanis a Vulkan API-t teljesen platformfüggetlen szintre emelik, ami drámaian leegyszerűsítheti a fejlesztők dolgát, hiszen ha ezt támogatják, akkor rendkívül sok operációs rendszert tudnak vele célozni.

Azóta történt

Előzmények

Hirdetés