Megjelent a Vulkan 1.4 grafikai szabvány

A Khronos konzorcium, amely a grafikus szabványok fejlesztésével foglalkozik, közel három évnyi munka után közzétette a Vulkan 1.4 specifikációját, amely az API-t határozza meg a GPU grafikai és számítási lehetőségeihez való hozzáféréshez. Az új specifikáció összegyűjtötte azokat a kiterjesztéseket, amelyeket korábban opcionálisnak tekintettek, és új lehetőségeket kínált, valamint megemelte a hardver követelményeit. A Vulkan SDK eszközkészletét 2025 januárjában tervezik közzétenni.

A Vulkan 1.4 támogatásával rendelkező termékeket az AMD, Arm, Imagination, Intel, NVIDIA, Qualcomm és Samsung cégek készülnek kiadni. Az AMD (radv), Apple M1/M2 (honeykrisp), Intel (anv), NVIDIA (nvk) és Qualcomm (tu) nyílt GPU meghajtói, amelyeket a Mesa projekt fejleszt, már teljesítették a Vulkan 1.4 kompatibilitási tesztjeit a CTS (Khronos Conformance Test Suite) készletből, és felkerültek a hitelesített meghajtók listájára. A Samsung és Qualcomm Android platformra készült meghajtói, valamint az Imagination Technologies PowerVR D-Series DXT* GPU-jához tartozó meghajtók is szerepelnek a listán.

Fő újdonságok:

  • Hozzáadva a „Streaming Transfers” mechanizmus támogatása, amely nagy mennyiségű adat folyamatos továbbítását biztosít a fő rendszer (hoszt) és a grafikus eszköz között, anélkül hogy megszakítaná a renderelést vagy csökkentené annak teljesítményét. A mechanizmust az új VK_EXT_host_image_copy kiterjesztés segítségével valósították meg, amelynek támogatása opcionális.
  • Kötelezővé váltak a teljesítmény növelésére irányuló lehetőségek:
    • Push Descriptors – lehetőség frissítéseket közvetlenül a parancsbuferekbe írni, ahelyett, hogy külön állapotgyűjteményeket hoznánk létre és azokhoz kötnénk a parancsbufereket.
    • VK_KHR_dynamic_rendering_local_read – lehetővé teszi, hogy a dinamikus renderelési átjárók (render pass) keretein belül olvassunk a beágyazott pufferből (attachments) és a korábbi fragment shaderek által írt erőforrásokból.
    • VK_EXT_scalar_block_layout – lehetővé teszi a C-szerű struktúrák használatát a SPIR-V blokkoknál, amelyeknél az összetevők mérete alapján nem skalár típusok is igazíthatók.
  • A csomag tartalmazza a VK_KHR_maintenance5 és VK_KHR_maintenance6 kiterjesztéseket, amelyek segédparancsokat és struktúrákat biztosítanak az erőforrások és shaderek kezelésének egyszerűsítésére.
  • Garanted az 8K (7680 x 4320 pixel) felbontású renderelés támogatása, akár 8 független renderelőpuffer felhasználásával.
  • A csomag tartalmazza a következő kiterjesztéseket:
    • VK_KHR_global_priority
    • VK_KHR_index_type_uint8
    • VK_KHR_line_rasterization
    • VK_KHR_load_store_op_none
    • VK_KHR_map_memory2
    • VK_KHR_push_descriptor
    • VK_KHR_shader_expect_assume
    • VK_KHR_shader_float_controls2
    • VK_KHR_shader_subgroup_rotate
    • VK_KHR_vertex_attribute_divisor
    • VK_EXT_pipeline_protected_access
    • VK_EXT_pipeline_robustness
  • Számos korábban opcionális lehetőség kötelezővé vált.
  • Számos új parancsot és struktúrát adtak hozzá.

A Vulkan API jelentősen leegyszerűsíti a meghajtókat, lehetővé teszi a GPU parancsok generálását az alkalmazás oldalán, támogatja a hibakereső rétegek csatlakoztatását, egységesíti az API-t különböző platformokhoz, és lehetővé teszi a GPU-n végrehajtott előre lefordított köztes kódkép használatát.

A Vulkan az alkalmazások számára közvetlen irányítást biztosít a GPU műveletek felett, és beépített támogatást nyújt a GPU parancsok párhuzamos feldolgozásához, minimalizálva a meghajtó által bevezetett költségeket, míg a meghajtó szintjén megvalósított lehetőségek jelentősen egyszerűsödnek és kiszámíthatóbbá válnak. Például a memória kezelése és a hibakezelés, amelyek a OpenGL-ben a meghajtó oldalán valósulnak meg, a Vulkanban az alkalmazás szintjére kerülnek.

A Vulkan minden elérhető platformot lefed, és egységes API-t biztosít asztali, mobil rendszerek és Web számára, lehetővé téve egy közös API használatát különböző grafikus feldolgozók és alkalmazási területek számára. A Vulkan rétegezett architektúrája lehetővé teszi a bármilyen GPU-val működő eszközök létrehozását, így a hardvergyártók szabványos eszközöket használhatnak a kód tesztelésére, hibakeresésére és profilozására a fejlesztés során.

A shaderek létrehozásához egy LLVM-alapú hordozható köztes reprezentáció, a SPIR-V javasolt, amely a nyílt forráskódú OpenCL alapjait használja. A Vulkannal együtt használható az HLSL árnyékoló nyelv, amely a DirectX-ben alkalmazott, SPIR-V-be történő lefordítás útján. Az eszközök és képernyők kezeléséhez a Vulkan WSI (Window System Integration) interfészt kínál, amely hasonló feladatokat lát el, mint az EGL az OpenGL ES-ben. A WSI támogatása alapértelmezetten elérhető a Waylandban – minden Vulkan-t használó alkalmazás futtatható a módosítatlan környezetben. szerverek Wayland. A WSI-n keresztüli működés lehetősége biztosított az Android, X11 (DRI3-tól), Windows, Tizen, macOS és iOS számára.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster