A programozhatóságon egyszerűsít az új Vulkan API

Az 1.2-es verzió ráfekszik a HLSL támogatására, de a timeline semaphore lesz az egyik legfontosabb újítása.

A Khronos Group majdnem öt évvel korábban adta ki a Vulkan API-t, amelynek az 1.1-es frissítése nagyjából két éve érkezett meg, és elhozta a több GPU támogatását is. A konzorcium most bejelentette az 1.2-es verziót, ami túlzottan nagy újításokat nem vezet be, de ennek köszönhetően új hardvereket sem igényel. Ez azt jelenti, hogy minden olyan grafikus vezérlőre írható megfelelő implementáció, amelyen működött a Vulkan 1.1.

A Vulkan 1.2 számos, korábban megjelent, szabványos kiterjesztést tett követelménnyé, vagyis ezeket mostantól kötelező támogatnia egy Vulkan 1.2-es implementációnak. Számos kiterjesztés persze maradt opcionális, mert az új hardverekkel ezek ugyan kihasználhatók, de a régiekkel már nem. Mindez viszont nem akkora gond, mert viszonylag egyszerű funkciókról van szó, amelyeket könnyen lehet kezelni a kódban, így lehet írni úgy is támogatást rájuk, hogy a régebbi hardverek nem szenvednek hátrányt, noha a kiterjesztések előnyeit sem kapják meg.


[+]

A Khronos Group fő fejlesztési célja a shader nyelvekre vonatkozó lehetőségek kiterjesztése. A Vulkan hivatalosan a SPIR-V-t támogatja továbbra is, és ez az egyetlen köztes nyelv, amit elfogad. De azt már nem szabja meg, hogy milyen magas szintű nyelvből legyen generálva SPIR-V kód. Alapvetően a GLSL az, amit a konzorcium ajánl, de rengeteg fejlesztő HLSL-ben dolgozik, és erre vonatkozóan ugyan javult a támogatás az előző években, de most jutottunk el oda, hogy az összes HLSL funkció le van fedve az új SPIR-V 1.5-ben. Ez a shader modell 6.2-ig terjed ki jelenleg, ami kellően jó alapot jelent ahhoz, hogy a HLSL abszolút reális lehetőség legyen a Vulkan API-t használva.

A másik fő újítás a létrehozott eszköz parancslistái, illetve a host processzor szálai közötti szinkronizálás menedzselésének átdolgozása. Ez tipikusan egy nehéz feladat, amelyért eddig a VkFences, illetve a VkSemaphore felelt, de a Vulkan 1.2 bevezeti a timeline semaphore-t, amely egy egységes, korábbinál sokkal robusztusabb megoldás a szinkronizáció kezelésére. Ilyen formában könnyebben lehet majd szinkronizálni a párhuzamos operációkat, ami hatékonyabb többszálú végrehajtást tehet lehetővé.


[+]

A Khronos Group a fentiek mellett lassan átmenti az OpenGL professzionális funkcióit, amelyeket például a CAD alkalmazások használnak. Bár régebben arról volt szó, hogy az OpenGL nem megy sehova, de ma már világos, hogy semmilyen erőforrást nem fektetnek bele, vagyis ez az API haldoklik, talán már halott is. A professzionális alkalmazások azonban ugyanúgy fejlődni szeretnének a jövőben, viszont a dolgok jelenlegi állása szerint a Vulkan API-ra való átállásra kényszerülnek, és ezért dolgozik azon az érintett konzorcium, hogy az érintett applikációk számára fontos kiterjesztések bekerüljenek az új generációs API-jukba. Mindez viszont nem egy gyors folyamat lesz, a lényeg itt annyi, hogy a kapcsolódó munkálatokat már megkezdték az érintettek.

A Vulkan 1.2-re valószínűleg minden olyan vállalat készít implementációt, amely támogatja legalább a Vulkan 1.1-et.

Azóta történt

Előzmények

Hirdetés