Paʻi ʻia ʻo Vulkan 1.2 maʻamau

ʻO ka Khronos consortium, nāna e hoʻomohala i nā kūlana kiʻi,
hoolaha kikoʻī Vulkan 1.2, e wehewehe ana i kahi API no ke komo ʻana i nā kiʻi kiʻi a me nā mana helu o ka GPU. Hoʻokomo ka ʻōlelo kikoʻī hou i nā hoʻoponopono i hōʻiliʻili ʻia ma luna o ʻelua makahiki a hoʻopau. Aia nā mea hoʻokele e kākoʻo ana i ka mana hou o Vulkan hoʻokuʻu ʻia hui Intel, AMD, ARM, Imagination Technologies a me NVIDIA. Hāʻawi ʻo Mesa i ke kākoʻo Vulkan 1.2 no nā mea hoʻokele RADV (kāleka AMD) a ANV (Intel). Hoʻokomo pū ʻia ke kākoʻo Vulkan 1.2 i ka debugger RenderDoc 1.6, LunarG Vulkan SDK a me kahi hoʻohālike Vulkan-Laʻana.

ka papa kuhikuhiE nā mea hou:

  • Lawe ʻia iā ʻoe ka hoʻokō ʻana i kahi ʻōlelo papahana shader a hiki i ka mākaukau no ka hoʻohana ākea HLSL, hoʻomohala ʻia e Microsoft no DirectX. ʻO ke kākoʻo HLSL ma Vulkan e hiki ai ke hoʻohana i nā shaders HLSL like i nā noi e pili ana iā Vulkan a me DirectX, a maʻalahi hoʻi i ka unuhi mai HLSL a i SPIR-V. No ka hōʻuluʻulu ʻana i nā shaders, ʻōlelo ʻia e hoʻohana i kahi compiler maʻamau
    DXC, i wehe ʻia e Microsoft ma 2017 a ua hoʻokumu ʻia ma ka ʻenehana LLVM. Hoʻokomo ʻia ke kākoʻo Vulkan ma o kahi ʻaoʻao ʻokoʻa, kahi e hiki ai iā ʻoe ke unuhi i ka HLSL i kahi hōʻike waena o nā shaders SPIR-V. ʻO ka hoʻokō ʻana ʻaʻole wale nā ​​​​mea hiki i kūkulu ʻia
    ʻO HLSL, me nā ʻano makemakika, nā kahe mana, nā hana, nā sets, nā ʻano waiwai, nā inoa inoa, Shader Model 6.2, nā hale a me nā ʻano hana, akā e ʻae pū i ka hoʻohana ʻana i nā hoʻonui kikoʻī Vulkan e like me VKRay mai NVIDIA. Ma ke ʻano HLSL ma luna o Vulkan, hiki ke hoʻonohonoho i ka hana o nā pāʻani e like me Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey a me Tomb Raider.

    Paʻi ʻia ʻo Vulkan 1.2 maʻamau

  • Hōʻano hou ʻia ka kikoʻī SPIR-V 1.5, ka mea i wehewehe i kahi hōʻike waena o nā shaders maʻamau no nā paepae āpau a hiki ke hoʻohana ʻia no nā kiʻi a me ka hoʻopili like.
    Hoʻokomo ʻia ka SPIR-V i ka hoʻokaʻawale ʻana i kahi māhele hoʻohui shader ʻokoʻa i kahi hōʻike waena, e hiki ai iā ʻoe ke hana i nā frontends no nā ʻōlelo kiʻekiʻe. Ma muli o nā hoʻokō kiʻekiʻe kiʻekiʻe, ua hoʻokaʻawale ʻia kahi code intermediate hoʻokahi, hiki ke hoʻohana ʻia e nā mea hoʻokele OpenGL, Vulkan a me OpenCL me ka ʻole o ka hoʻohana ʻana i ka mea hoʻopili shader i kūkulu ʻia.

    Paʻi ʻia ʻo Vulkan 1.2 maʻamau

  • Aia ka Vulkan API nui he 23 mea hoʻonui e hoʻonui i ka hana, hoʻomaikaʻi i ka maikaʻi o ka hoʻolilo ʻana, a maʻalahi i ka hoʻomohala ʻana. Ma waena o nā hoʻonui i hoʻohui ʻia:
    • Nā semaphore o ka manawa (Semaphore Timeline), hoʻohui i ka synchronization me ka host a me nā queues mea hana (e ʻae iā ʻoe e hoʻohana i hoʻokahi primitive no ka synchronization omnidirectional ma waena o ka hāmeʻa a me ka host, me ka hoʻohana ʻole ʻana i ka VkFence a me VkSemaphore primitives). Hōʻike ʻia nā semaphores hou e ka monotonically e hoʻonui ana i ka waiwai 64-bit i hiki ke nānā ʻia a hōʻano hou ʻia ma nā pae he nui.
      Paʻi ʻia ʻo Vulkan 1.2 maʻamau

    • Hiki ke hoʻohana i nā ʻano helu me ka hōʻemi i ka pololei i nā shaders;
    • HLSL koho hoʻonohonoho hoʻomanaʻo kūpono;
    • ʻO nā kumuwaiwai i hoʻopaʻa ʻole ʻia (bindless), kahi e hoʻoneʻe ai i ka palena o ka nui o nā kumuwaiwai i loaʻa i nā shaders ma o ka hoʻohana ʻana i ka māhele virtual o ka hoʻomanaʻo ʻōnaehana a me ka hoʻomanaʻo GPU;
    • Ke kumu hoʻohālike o ka hoʻomanaʻo, e wehewehe ana pehea e hiki ai i nā loina like ke komo i ka ʻikepili kaʻana like a me nā hana hoʻonohonoho;
    • Ka helu kuhikuhi e hoʻohana hou i nā wehewehe wehewehe hoʻolālā ma waena o nā shaders lehulehu;
    • Nā loulou pale.

    ʻO ka papa inoa piha o nā mea hoʻonui i hoʻohui ʻia:

  • Hoʻohui ʻia ʻoi aku ma mua o 50 mau hale hou a me 13 mau hana;
  • Ua hoʻomākaukau ʻia nā mana pōkole o ka kikoʻī no nā papa kuhikuhi maʻamau, e hoʻomaʻamaʻa i ka hana ma luna o nā kahua i kākoʻo ʻole ʻia nā mea hoʻonui a pau, a e ʻae i kekahi e hana me ka ʻole o ka hoʻāla ʻana i nā mana kumu o ka Vulkan API.
  • Ke hoʻomau nei ka hana ma ka papahana e hōʻoia i ka lawe ʻana me nā API kiʻi ʻē aʻe. No ka laʻana, hāʻawi ʻo Vulkan i nā hoʻonui e hiki ai i ka unuhi OpenGL (kiniki), OpenCL (clspv, clvk), OpenGL ES (GLOVE, Angle) a me DirectX (DXVK, vkd3d) ma o ka Vulkan API, a pēlā pū, e hiki ai iā Vulkan ke hana ma nā paepae me ka ʻole o kāna kākoʻo maoli (gfx-rs и ʻAhi no ka hana ʻana ma luna o OpenGL a me DirectX, MoltenVK a me gfx-rs no ka hana ʻana ma luna o Metal).
    Hoʻohui i nā mea hoʻonui e hoʻomaikaʻi i ka hoʻohālikelike me DirectX a me 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, a me SPIR-V hoʻohana i nā mana HLSL kiko'ī.

ʻO nā hoʻolālā no ka wā e hiki mai ana ka hoʻomohala ʻana i nā mea hoʻonui no ke aʻo ʻana i ka mīkini, ka huli ʻana i nā hihi, ka hoʻopili wikiō a me ka wehe ʻana, ke kākoʻo no VRS (variable-rate shading) a me nā shaders Mesh.

E hoʻomanaʻo i ka Vulkan API kupaianaha radically simplifying Keaukaha, neʻe i ka hanauna o ka GPU kauoha i ka palapala noi, ka hiki ke hoʻohui debug papa, unifying i ka API no ka likeʻole anuu a me ka hoʻohana 'ana i ka precompiled intermediate hoike o ke code no ka hoʻokō 'ana ma ka GPU aoao. No ka hōʻoia ʻana i ka hana kiʻekiʻe a me ka wānana, hāʻawi ʻo Vulkan i nā noi me ka mana pololei ma luna o nā hana GPU a me ke kākoʻo ʻōiwi no ka GPU multi-threading, e hōʻemi ana i ka mea hoʻokele ma luna o ke poʻo a hoʻolilo i nā mea hoʻokele-ʻaoʻao i maʻalahi a hiki ke wānana. No ka laʻana, hoʻoneʻe ʻia nā hana e like me ka hoʻokele hoʻomanaʻo a me ka hana hewa, i hoʻokō ʻia ma OpenGL ma ka ʻaoʻao o ka mea hoʻokele, i ka pae noi ma Vulkan.

Hoʻopili ʻo Vulkan i nā kahua āpau i loaʻa a hāʻawi i hoʻokahi API no ka desktop, mobile, a me ka pūnaewele, e ʻae ana i hoʻokahi API maʻamau e hoʻohana ʻia ma waena o nā GPU a me nā noi. Mahalo iā Vulkan's multi-layer architecture, ʻo ia hoʻi nā mea hana e hana pū me kekahi GPU, hiki i nā OEM ke hoʻohana i nā mea hana maʻamau no ka loiloi code, debugging, a me ka profiling i ka wā hoʻomohala. No ka hana ʻana i nā shaders, ua manaʻo ʻia kahi hōʻike kikowaena kikowaena hou, SPIR-V, ma muli o LLVM a kaʻana like i nā ʻenehana koʻikoʻi me OpenCL. No ka hoʻomalu ʻana i nā hāmeʻa a me nā pale, hāʻawi ʻo Vulkan i ka interface WSI (Window System Integration), kahi e hoʻoponopono ai i nā pilikia like me EGL ma OpenGL ES. Loaʻa ke kākoʻo WSI ma waho o ka pahu ma Wayland - hiki i nā noi āpau e hoʻohana ana iā Vulkan ke holo i kahi kaiapuni o nā kikowaena Wayland i hoʻololi ʻole ʻia. Hāʻawi ʻia ka hiki ke hana ma WSI no Android, X11 (me DRI3), Windows, Tizen, macOS a me iOS.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka