Az OpenCL és az OpenGL mögött álló Khronos Group több érdekes bejelentést is időzített erre a hétre, ami nem is túl meglepő, hiszen az MWC (Mobile World Congress) mellett ezen a héten rendezik meg a GDC-t (Game Developer's Conference) is, így minden vállalat ellövi majd az egyes alkalmazásprogramozási-interfészekhez kapcsolódó bejelentéseit.

Galéria megnyitása

A Khronos 2014 augusztusában rántotta le a leplet alacsonyszintű hardverelérést biztosító fejlesztéséről, amely a glNext nevet viseli, azaz az OpenGL következő generációját képviseli. Az új API a Mantle és a DirectX 12 alapkoncepcióját követve alacsonyszintű hozzáférést biztosít a grafikus alrendszerhez, de előbbieknél komolyabb jelentőséggel bír, hiszen a világ első alacsony szintű, platformok között működő API-jának minősül. A 2014-es bejelentés tulajdonképpen csak együttműködésre való felhívás volt, most azonban érdekes részletek is napvilágot láttak a glNext újításaival kapcsolatban.

Első és legfontosabb, hogy a glNext-et végre elnevezték, így mostantól a Vulkan névre hallgat. Az új név nagyon komoly változásokat takar, ugyanis e név alatt egyesül az asztali OpenGL API és a mobil OpenGL ES API. A korábban felvázolt irány persze az új név bevezetése után sem változik: továbbra is egy nyílt, platformok között működő, alacsony szintű hardverelérést biztosító API készítése a cél, amely számos előnyt kínál (hála például a jelentősen csökkentett draw call overhead-nek, vagy a gyorsabb shader fordításnak).

A Vulkan érkezésével fejlődésre lehet számítani fejlesztőeszközök terén is, aminek ideje volt, mert e téren az OpenGL korábban több jogos kritikát is kapott. A Vulkan esetében egységes validációs és hibakereső rétegek állnak rendelkezésre, amelyek beilleszthetőek a renderelési láncba és használhatóak a fejlesztés során, ez pedig nagy könnyebbséget jelent a fejlesztők számára. A megfelelőségi tesztek szintén nagy hangsúlyt kapnak, amelyek az OpenGL esetében évekig hiányoztak és amelyek nagy segítséget jelentettek a Khronos legfrissebb API-jainak fejlesztésében – itt gondoljunk például a WebCL-re. A megfelelőségi tesztelés részben nyitott lesz, ugyanis a fejlesztők benyújthatnak majd új teszteket, amelyeket a Khronos szakembergárdája el fog bírálni.

A végleges Vulkan specifikáció egyelőre még nem áll rendelkezésre, de a Khronos szerint nagyon hasonlít majd a Mantle API-ra és a DirectX 12-re, így azok a fejlesztők, akik ezeken az API-kon dolgoznak, a Vulkan API-val is elboldogulnak majd.

Érdekes tény, hogy a Vulkan fejlesztésében komoly szerepe van az AMD Mantle API 1.0-s kiadásának, hiszen gyakorlatilag erre alapoz a Vulkan. Persze fontos megjegyezni, hogy a Vulkan nem egyenlő a Mantle API-val, mindössze a Vulkan fejlesztésének felgyorsítását szolgálta, így a Vulkan több téren is különbözik tőle. A Mantle leszármazottjának tekinthető Vulkan esetében számos olyan Mantle szolgáltatást száműztek, amelyek nem feleltek meg a céloknak – itt részben a HLSL-re, illetve minden egyéb olyan megoldásra kell gondolni, amelyek akadályozták, hogy az új API klönböző gyártók termékeivel is együttműködjön –, a kivett funkcionalitást pedig egyéb szükséges összetevőkkel, illetve jobb funkcionalitással pótolták.

Shader programozás felől nézve a Vulkan elég széles repertoárból gazdálkodhat majd a későbbiekben. Eleinte a GLSL lesz a Vulkan fő shader programozási nyelve, de hosszabb távon egyéb programozási nyelvek támogatására is lehet számítani, például a C++-éra is, amit az Apple Metal API-ja egyébként már támogat.

Hardveres támogatás terén a Khronos jelenlegi álláspontja szerint minden olyan platform megfelel majd, amely rendelkezik OpenGl ES 3.1-es vagy frissebb támogatással, azaz minden modern mobil és asztali GPU kompatibilis lesz a Vulkan API-val.

A Vulkan API specifikációja még ebben az évben megjelenhet, ám abból kiindulva, hogy a Khronos elsőként mindig ideiglenes specifikációt ad ki, a végleges változat egy picit késhet a DirectX 12-höz képest, ami még év vége előtt elrajtol. Az előzetes specifikáció megjelenésekor már pontosabb képet kaphatunk azzal kapcsolatban, hogy mely platformok és GPU-k kapnak Vulkan támogatást, valamint az is kiderülhet, mely játékok támaszkodnak elsőként az új API-ra.

Itt a SPIR-V is

A Khronos a Vulkan mellett a SPIR legújabb változatát, a SPIR-V-t is bejelentette. A SPIR egy speciális fordító, amely egy köztes állapotot biztosít a shader forráskódja és a lefordított bináris között. Ez a módszer garantálja, hogy a szabványos shader kód gond nélkül lefut majd az adott, Vulkan API-t támogató hardvereken – ez pedig komoly előrelépés az OpenGL-hez képest.

Azáltal, hogy a Vulkan a SPIR-V köré épül, a fejlesztők több programozási nyelven is készíthetnek tartalmakat a Vulkan API-ra, így gyakorlatilag bármilyen kód lefuttatható a Vulkan API-n, ha azt le lehet fordítani SPIR szintre. Ez a gyakorlat hasonló ahhoz, amit a Khronos csoport az OpenCL esetében folytat – a SPIR ugye pont az OpenCL miatt született meg.

A fentiek miatt a Vulkan shaderek esetében már nem kötelező nyers magas szintű GLSL kódot használni, ehelyett az említett köztes állapotban is leszállítható a kód. Hosszabb távon a SPIR-V jóvoltából a fejlesztők szabadon keverhetik majd a grafikai és számítási terhelésfajtákat, hiszen a SPIR-V mindkettőt ki tudja szolgálni. Ezzel együtt a Vulkan rugalmasabb is lesz, hiszen nem csak a GLSL programozási nyelvet támogathatja, hanem egyéb programozási nyelveket is, hála a SPIR-V bevetésének.

Hírlevél feliratkozás
A feliratkozással elfogadom a Felhasználási feltételeket és az Adatvédelmi nyilatkozatot.

21 hozzászólás

A komment írásához előbb jelentkezz be!
atix2
atix2
2015. márc. 4. 10:24
#8

Megy a marakodás, mint az Apple és Samsung közt :D Én csak annyit tennék hozzá, ha nem az AMD, lehet ma sem látnánk még API-t. De fikázni a legkönnyebb, igazatok van...

Solt
Solt
2015. márc. 4. 9:48
#7

Van itt homály a fejekben Urak! :D Legalább nézetek utána a dolgoknak mielőtt nekiálltok okoskodni... :)

sphynxx
sphynxx
2015. márc. 4. 7:18
#6

Valahol már láttam én ezt a logo design-t

http://wp.xin.at/wp-content/uploads/2013/04/3dfx_logo.png

Galdech
Galdech
2015. márc. 4. 7:10
#5

Úgy döntöttem, hogy hátradőlök és élvezem a hozzászólásokat. Annyira, de annyira vakon vagytok ebben a témában, nagyon jól szórakozom :) Pedig csak egy kis következtetés és logikus gondolkodás kellene.

Kíváncsi vagyok, hogy a most támogatott Mantle játékok mikor kapnak Vulkan támogatást, ha kapnak egyáltalán.

Törölt felhasználó
Törölt felhasználó
2015. márc. 4. 0:19
#4

Remélem az új API-k tömkelege nem hoz kompatibilitási problémákat a régebbi játékokkal szemben. Mert egy DirectX 7-es játék már nehezen hajlandó elindulni egy újabb kártyával. Pedig úgy játszottam volna nemrég egy King Of The Road-al vagy egy Colin McRae 2-vel. Mert a végén az sül ki belőle hogy majd egy Far Cry 3 se fog elindulni lassan.

kiskoller
kiskoller
2015. márc. 4. 9:30

Ha nem idegen tőled a Linux, wine-al tehetsz egy próbát. Jobb a régi win-es játékok támogatottsága, mint Win7-Win8 párnak :)

siriq
siriq
2015. márc. 3. 22:43
#3

Hagyatok beket atti-nak. Ugy sem erti.

En speciel udvozlom a vulcan-t. Egy ertelmes dolog lehet belole. A sok gcn specifikus dolgot teljesen ki kell gyomlalni belole, majd szepen tovabb fejleszteni az intellel es nvidiaval egyutt.

BReal
BReal
2015. márc. 4. 0:30

Mit kéne ehhez írni? 100e vs 180e Ft-os kártya? LoL

Törölt felhasználó
Törölt felhasználó
2015. márc. 3. 22:01
#2

Hmmm - másképp nevezik el - és máris egész másképp cseng . ;) de a lényegi az megvan ... majd lehet kapkodni fejeket . Azért nem hülyék ám - tanultak eleget már ...

[Irányt vált az AMD Mantle API-ja]

Hogy mennyi nagytudós lett itt hamarjában - jézus =( Nem érteni , akkor miért nem egy szoftverfejlesztő cégnél vagytok ??? okoskák

de még visszavan a nagyrésze , mi lessz itt megint :D

~200 hsz

atti2010
atti2010
2015. márc. 3. 19:07
#1

Mondtam én gyerekek jön a Mantle API mindenbe beépülve, nem akarják egyesek megérteni, hülyék lennének a gyártók nem kihasználni az egységes konzolra irt szoftvert és a zseniális Mantle előnyeit.

kiskoller
kiskoller
2015. márc. 4. 9:29

Az a baj, hogy mindent nv vs amd szemmel nézel. Engem egyáltalán nem izgat ez, csak javítottam a hsz-edet.

Vissza az oldal tetejére