Portolható Vulkan konstrukción dolgozik a Khronos Group

  • (f)
  • (p)
Írta: Abu85 | 2017-08-04 14:49 | Forrás: PROHARDVER!

A frissen létrehozott munkacsoport egy univerzális, minden kritikus fontosságú API-ra jól ráilleszthető specifikációt szeretne létrehozni.

A Khronos Group a SIGGRAPH alkalmával beszélt egy érdekes kezdeményezésről, ugyanis a Vulkan API fejlesztését ellátó Vulkan Working Groupon belül létrehozták a Vulkan Portability Technical Subgroupot, amely munkacsoport egy portolható felületet biztosítana az elterjedt platformok között. Azt talán nem kell ecsetelni, hogy mi az iparág problémája: a három új explicit API közül egyik sem érhető el az összes nagyobb platformon. A Microsoft DirectX 12 a Windows 10-hez van kötve, míg az Apple Metal a macOS új verzióihoz. Egyedül a Vulkan API-t lehet használni relatíve sok platformon belül, de az Apple termékeihez például ez sem jó, ahogy a Windows 10 Mobile-hoz sem.

A Khronos Group szerint, ha egy fejlesztő minden platformra ki szeretné adni az alkotását, akkor legalább két API-ra kell dolgoznia, holott az lenne az ideális, ha elég lenne egyre. Ugyanakkor a Microsoft és az Apple a felhasználók és a fejlesztők érdekei miatt nem fogják eldobni a saját API-jaikat, tehát valami más megoldást kell erre a problémára kidolgozni.

A fejlesztés alatt álló Vulkan Universally Portable Subset egy potenciálisan működőképes konstrukció, mivel egy olyan API és shader nyelvre vonatkozó eszközök és rétegek összessége, amely képes elfedni a Vulkan, a DirectX 12 és a Metal különbségeit, így a fejlesztők számára elég egy leképezőt írni, amely mindegyik platformon futtatható lesz. Itt persze számolni kell azzal, hogy némi többletterheléssel jár a működés biztosítása, de az elsődleges cég a futtathatóság elérése, akár némi sebességvesztés árán is.

A rendszer egyébként a Vulkan API specifikációjának azt a részhalmazát tartalmazná, amely hatékonyan illeszthető rá a DirectX 12 és a Metal API-kra. Ehhez nyílt forráskódú könyvtárak készülnének, amelyek a közösség segítéségével fejleszthetők. A shader nyelv szempontjából a SPIR-V Vulkan API-hoz való verziója biztosítaná az alapot, és az így szállított shaderek a SPIRV-Cross segítségével átkonvertálhatók majd az adott platform által támogatott shader nyelvre. Természetesen egy hitelesítési teszt is kidolgozásra kerülne, és ez biztosítaná az implementációk megfelelő működését.


[+]

A Vulkan Universally Portable Subset a program oldalán is hozna újdonságokat, mivel az explicit API-kat egyelőre nem érdemes támogatni a böngészőkön keresztül, de egy ilyen egységes kezdeményezés jelentősen javítana a lehetőségeken. A következő generációs WebGL szempontjából is ez lehetne az ideális alap, ugyanis így biztosítható lenne a platformfüggetlenség, miközben ennek az ára a többletterhelés tekintetében nem lenne túl nagy.

A koncepció egyelőre még kezdetleges állapotban van, a Khronos Group azért mutatta be, mert hallani szeretné a visszajelzéseket, illetve az esetleges igényeket.