Ọkọlọtọ eserese Vulkan 1.2 ebipụtara

Khronos consortium, nke na-emepụta ụkpụrụ eserese,
bipụtara nkọwapụta Vulkan 1.2, nke na-akọwa API maka ịnweta eserese na ike ịgbakọ nke GPU. Nkọwapụta ọhụrụ ahụ na-agụnye mmezi agbakọba ihe karịrị afọ abụọ na nditat. Ndị ọkwọ ụgbọala na-akwado ụdị Vulkan ọhụrụ a adịlarị wepụtara Ụlọ ọrụ Intel, AMD, ARM, teknụzụ echiche na Nvidia. Mesa na-enye nkwado Vulkan 1.2 maka ndị ọkwọ ụgbọala AKWA (Kaadị AMD) na ANV (Intel). A na-etinyekwa nkwado Vulkan 1.2 na onye nbibi RenderDoc 1.6, LunarG Vulkan SDK na otu ihe atụ Vulkan-Sample.

Main ihe ọhụrụ:

  • E wetara gị mmejuputa asụsụ mmemme shader ruo mgbe ọ dị njikere maka ojiji zuru ebe niile HLSL, nke Microsoft mepụtara maka DirectX. Nkwado HLSL na Vulkan na-eme ka o kwe omume iji otu HLSL shaders na ngwa dabere na Vulkan na DirectX, ma na-eme ka ntụgharị si na HLSL dị mfe gaa na SPIR-V. Iji chịkọta shaders, a na-atụ aro ka iji ọkọlọtọ ọkọlọtọ
    DXC, nke Microsoft meghere na 2017 ma dabere na teknụzụ LLVM. A na-emejuputa nkwado Vulkan site na azụ azụ dị iche, nke na-enye gị ohere ịsụgharị HLSL ka ọ bụrụ ihe nnọchiteanya etiti nke SPIR-V shaders. Mmejuputa a na-ekpuchi ọ bụghị naanị ike arụnyere n'ime ya
    HLSL, gụnyere ụdị mgbakọ na mwepụ, usoro nchịkwa, ọrụ, nhazi, ụdị akụ, aha aha, Shader Model 6.2, usoro na ụzọ, ma na-enye ohere iji Vulkan-kpọmkwem ndọtị dị ka VKRay si NVIDIA. Na ọnọdụ HLSL n'elu Vulkan, ọ ga-ekwe omume ịhazi ọrụ egwuregwu dị ka Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey na Tomb Raider.

    Ọkọlọtọ eserese Vulkan 1.2 ebipụtara

  • Emelitere nkọwapụta SPIR-V 1.5, nke na-akọwapụta ihe nnọchianya nke etiti nke shaders bụ nke zuru ụwa ọnụ maka nyiwe niile ma nwee ike iji ya mee ihe maka eserese ma na-arụkọ ọrụ ọnụ.
    SPIR-V gụnyere ikewapụta usoro nchịkọta shader dị iche ka ọ bụrụ nnọchite etiti, nke na-enye gị ohere ịmepụta ihu ihu maka asụsụ dị elu dị iche iche. Dabere na mmemme dị elu dị iche iche, a na-emepụta otu koodu etiti dị iche iche, nke ndị ọkwọ ụgbọala OpenGL, Vulkan na OpenCL nwere ike iji na-ejighi ihe nchịkọta shader wuru.

    Ọkọlọtọ eserese Vulkan 1.2 ebipụtara

  • Isi Vulkan API na-agụnye ndọtị 23 na-abawanye arụmọrụ, melite ogo nsụgharị, na ime ka mmepe dị mfe. N'ime ndọtị agbakwunyere:
    • Semaphores oge ochie (Semaphore oge), na-emekọrịta mmekọrịta na onye ọbịa na ahịrị ngwaọrụ (na-enye gị ohere iji otu oge ochie maka mmekọrịta niile n'etiti ngwaọrụ na onye ọbịa, na-ejighi VkFence na VkSemaphore primitives dị iche). A na-anọchi anya semaphores ọhụrụ site na uru 64-bit na-abawanye n'otu n'otu nke enwere ike nyochaa ma melite n'ofe ọtụtụ eri.
      Ọkọlọtọ eserese Vulkan 1.2 ebipụtara

    • Ikike iji ụdị ọnụọgụgụ nwere mbelata nkenke na shaders;
    • Nhọrọ nhazi ebe nchekwa dakọtara HLSL;
    • Unbound akụrụngwa (bindless), nke na-ewepu mmachi na ọnụ ọgụgụ nke ihe onwunwe dị ka shaders site na iji òkè mebere oghere nke usoro ebe nchekwa na GPU ebe nchekwa;
    • Ụdị ebe nchekwa nkịtị, nke na-akọwapụta ka eri ndị na-emekọrịta ihe nwere ike isi nweta data ekekọrịtara na ọrụ mmekọrịta;
    • Ngosipụta nkọwa ka ijigharị ihe nkọwa okirikiri nhọrọ ukwuu gafee ọtụtụ shaders;
    • Njikọ nchekwa.

    Ndepụta nju nke mgbakwunye agbakwunyere:

  • Agbakwunyere karịa ihe owuwu ọhụrụ 50 na ọrụ 13;
  • Edobere ụdị nkọwa ahụ dị mkpụmkpụ maka nyiwe ebumnuche ndị a na-ahụkarị, na-eme ka ọrụ dị mfe na nyiwe nke akwadobeghị mgbakwunye niile, yana ikwe ka mmadụ mee na-enweghị nhọrọ nke ikike dị mkpa nke Vulkan API.
  • Ọrụ na-aga n'ihu na oru ngo ahụ iji hụ na e nwere ndịna-emeputa API ndị ọzọ. Dịka ọmụmaatụ, Vulkan na-enye ndọtị na-enye ohere ntụgharị OpenGL (Zink), OpenCL (clsv, clvk), OpenGL ES (GLOVE, Angle) na DirectX (NZP, vkd3d) site na Vulkan API, yana kwa, ọzọ, iji mee ka Vulkan rụọ ọrụ na nyiwe na-enweghị nkwado obodo ya (gfx-rs и Asụ maka ịrụ ọrụ n'elu OpenGL na DirectX, Onyebuchi na gfx-rs maka ịrụ ọrụ n'elu Metal).
    Mgbatị agbakwunyere iji kwalite ndakọrịta na DirectX na HLSL
    VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layout, VK_KHR_separate_stencil_usage, VK_KHR_separate_depth_stencil_layouts, na SPIR-V na-arụ ọrụ kpọmkwem HL.SL.

Atụmatụ maka ọdịnihu gụnyere mmepe nke ndọtị maka mmụta igwe, ray tracing, video encoding and decoding, support for VRS (variable-rate shading) na Mesh shaders.

Cheta na Vulkan API dị ịrịba ama na-eme ka ndị ọkwọ ụgbọ ala dị mfe, na-ebuga ọgbọ nke iwu GPU gaa n'akụkụ ngwa, ikike ijikọ n'ígwé debug, na-ejikọta API maka nyiwe dị iche iche na iji nnochite anya etiti nke koodu maka igbu n'akụkụ GPU. Iji hụ na arụmọrụ dị elu na amụma amụma, Vulkan na-enye ngwa njikwa njikwa kpọmkwem na arụmọrụ GPU yana nkwado ala maka GPU multi-threading, nke na-ebelata ihe ndị ọkwọ ụgbọ ala n'elu ma na-eme ka ikike ndị ọkwọ ụgbọ ala dịkwuo mfe ma bụrụ amụma. Dịka ọmụmaatụ, arụ ọrụ dịka njikwa ebe nchekwa na njikwa njehie, etinyere na OpenGL n'akụkụ ọkwọ ụgbọ ala, na-ebugharị na ọkwa ngwa na Vulkan.

Vulkan na-agbasa n'elu ikpo okwu niile dị ma na-enye otu API maka desktọpụ, mkpanaka, na webụ, na-enye ohere iji otu API a na-ahụkarị gafee ọtụtụ GPU na ngwa. Ekele Vulkan's multi-layer architecture, nke pụtara ngwaọrụ na-arụ ọrụ na GPU ọ bụla, OEM nwere ike iji ngwaọrụ ọkọlọtọ ụlọ ọrụ maka nyocha koodu, nbipu, na profaịlụ n'oge mmepe. Maka ịmepụta shaders, a na-atụpụta ihe nnọchianya ọhụrụ enwere ike ibugharị, SPIR-V, dabere na LLVM na ịkekọrịta teknụzụ bụ isi na OpenCL. Iji jikwaa ngwaọrụ na ihuenyo, Vulkan na-enye interface WSI (Window System Integration), nke na-edozi ihe dịka otu nsogbu dị ka EGL na OpenGL ES. Nkwado WSI dị na igbe dị na Wayland - ngwa niile na-eji Vulkan nwere ike ịgba ọsọ na gburugburu sava Wayland agbanwebeghị. A na-enyekwa ikike ịrụ ọrụ site na WSI maka gam akporo, X11 (ya na DRI3), Windows, Tizen, macOS na iOS.

isi: opennet.ru

Tinye a comment