Összevonta a különböző Vulkan verziókat a Khronos Group

A kiterjesztéses rendszer túl van a tűzkeresztségen és jól működik, így beolvasztható a főverzióba.

A Khronos Group még a SIGGRAPH alkalmával tett utalást arra, hogy a nyár végéig összevonja a Vulkan verziókat. A különböző elágazásokra azért volt szükség a bevezetésre vonatkozó szakaszban, mert a kiterjesztésekért felelős rendszert nem volt lehetőség tesztelni a megjelenéskor, így ezt inkább leválasztva szállították a főverzióban. Emiatt a gyártói kiterjesztések csak lassan kerültek be, de mostanra kellő adat gyűlt össze, ami alapján történtek is javítások, és a koncepció átesett a tűzkeresztségen.

Szerencsére a kiterjesztések kezelése jól működik, így az új 1.0.25-ös Vulkan verzió az összes elágazást összevonja. Ez azt jelenti, hogy mostantól a hivatalosan ellenőrzött gyártói kiterjesztéseknek nem lesz külön Vulkan elágazása, hanem azonnal mennek a főverzióba. Ez nyilván leegyszerűsíti ezek használatát az egész ipar számára.

Az eddig megjelent gyártói kiterjesztések természetesen bekerültek az új főverzióba, így az AMD öt, az Imagination kettő, míg az NVIDIA hat kiterjesztést kínál.

Az AMD esetében ezek ismertek, hiszen egy a sorrendtől független raszterizációért, míg három a SPIR-V kiterjesztések működéséért felel, de van egy újdonság is (VK_AMD_draw_indirect_count), amivel az alkalmazás meghatározott számú rajzolási parancsot generálhat és futtathat a processzor beavatkozása nélkül. Az Imagination két kiterjesztése újdonság. Az egyik a PVRTC textúratömörítési eljárásuk használatát teszi lehetővé (VK_IMG_format_pvrtc), míg a másikkal a PowerVR hardverekben épített fixfunkciós cubic szűrő használható ki (VK_IMG_filter_cubic).

Az NVIDIA oldaláról elérhető a már ismert, színtömörítési technológiákkal kapcsolatos problémákat kezelő kiterjesztés, illetve VK_NV_glsl_shader frissített verziója, ami már megfelel az API core specifikációinak, és ilyen formában lényegtelenné is vált. Megérkezett azonban pár memóriára vonatkozó kiterjesztés (VK_NV_external_memory, VK_NV_external_memory_capabilities, VK_NV_external_memory_win32, VK_NV_win32_keyed_mutex). Ezekkel Vulkan memóriaobjektumot lehet exportálni más API-kba, vagy esetleg importálni más API-kból.

A jövőben egyébként gyártói elágazások csak olyan indokolt esetekben lesznek, amikor a Khronos Group nem fogadja el a gyártó által tervezett kiterjesztést, de egy fejlesztő esetleg használni szeretné azt. Hosszabb távon azonban ezek nem ajánlott körülmények, tehát az ilyen helyzetek nagyon ritkák lesznek.

Azóta történt

Előzmények

Hirdetés