Hirdetés

Megkapta a sugárkövetéshez szánt előzetes kiterjesztéseket a Vulkan API

Az átmeneti specifikáció egyelőre a fejlesztők számára készült, így várják a visszajelzéseket a véglegesítés előtt.

A Khronos Group az év elején jelentette be a Vulkan API 1.2-es verzióját, de meglepetésre nem beszéltek a sugárkövetéshez való fejlesztéseikről. Ezek azonban a háttérben zajlanak, és most a konzorcium előállt az átmeneti specifikációkkal. Ezek a fejlesztőket célozzák, leginkább kísérleti jelleggel, mivel még változhatnak, viszont pont ezért várják is a visszajelzéseket.

A készülő rendszer három Vulkan kiterjesztésből áll. A VK_KHR_ray_tracing biztosítja a gyorsítóstruktúra felépítéséhez és menedzseléséhez szükséges funkcionalitást, definiálja a sugárkövetéshez való futószalagot, annak lépcsőivel együtt, illetve a sugárlekérdezés beépített függvényét hozzáférhetővé teszi az összes shader lépcsőn. Hozzá kapcsolódik a VK_KHR_pipeline_library, amivel az adott shaderkészlet hatékonyan linkelhető a sugárkövetés futószalagjába. Mindezeken túl a VK_KHR_deferred_host_operations tartalmazza a működés legalapvetőbb funkcióit, ideértve a sugárkövetés futószalagjának lefordítását, valamint a gyorsítóstruktúra felépítésének kiszervezését az alkalmazás által menedzselhető processzormagokra. Utóbbi egy nagyon értékes lehetőség, mivel rengeteg adat feldolgozásáról van szó, és nem feltétlenül biztos, hogy ezeket mindig a többi grafikai munka mellett, azonos hardveren van értelme elvégezni. Ez egy elég erősen vitatott tényező még ma is, de a konzorcium úgy gondolta, hogy megadja a lehetőséget arra, hogy ne kelljen túl sokat szenvedni a grafikus vezérlő erőforrásainak optimális menedzselésével, így a gyorsítóstruktúrával kapcsolatos munka egy része kiszervezhető a processzormagokra.

A fentiekkel a Khronos Group egy érdekes terepre téved, de egyáltalán nem tűnik az elgondolásuk logikátlannak, mivel láthatjuk, hogy az új processzorokba egyre több mag kerül, és ezeket hasznos lehet befogni. Ilyen formában a Vulkan API sugárkövetésre vonatkozó koncepciója nem csak a GPU-kra, hanem a CPU-kra is vonatkozik, a fejlesztők pedig eldönthetik, hogy mennyi munkát szeretnének kiszervezni az utóbbira, tehermentesítve ezzel a GPU-t, ami hatékonyabban dolgozhat a többi grafikai feladaton.

Vulkan Ray Tracing
Vulkan Ray Tracing [+]

A Vulkan kiterjesztései mellett kapnak két-két kiterjesztést a SPIR-V (SPV_KHR_ray_tracing és SPV_KHR_ray_query) és a GLSL (GLSL_EXT_ray_tracing és GLSL_EXT_ray_query). Ezek definiálják a sugárkövetéssel kapcsolatos függvényeket a shaderekben. Mindebből kitalálható, hogy a GLSL nyelven keresztül elérhető lesz az újítás, de a készülő SPIR-V specifikáció elfogadja majd a HLSL-ben írt kódokat is. Az alapvető működés szempontjából a Microsoft és a Khronos Group rendszere nagyon hasonló, tehát utóbbi nem jelent különösebb problémát.

Az átmeneti specifikáció véglegesítéséről még nem beszélt a Khronos Group. Ez nyilván függ a visszajelzésektől, de ha nem merül fel komoly probléma, akkor az év végére megoldható feladatnak tűnik, de legkésőbb a következő esztendő tavaszára.

Azóta történt

Előzmények

Hirdetés