Ngemuva kweminyaka emibili yomsebenzi, i-graphics standards consortium Khronos ishicilele ukucaciswa kwe-Vulkan 1.3, okuchaza i-API yokufinyelela ihluzo namandla okwenza ikhompuyutha ama-GPU. Ukucaciswa okusha kuhlanganisa izilungiso nezandiso eziqoqwe eminyakeni emibili. Kuyaphawulwa ukuthi izidingo zokucaciswa kwe-Vulkan 1.3 zakhelwe okokusebenza kwezithombe zekilasi le-OpenGL ES 3.1, okuzoqinisekisa ukusekelwa kwe-API yezithombe ezintsha kuwo wonke ama-GPU asekela i-Vulkan 1.2. Amathuluzi e-Vulkan SDK ahlelelwe ukuthi ashicilelwe maphakathi noFebhuwari. Ngaphezu kokucaciswa okuyinhloko, kuhlelwe ukunikeza izandiso ezengeziwe zamadivayisi eselula namadeskithophu asezingeni eliphakathi nendawo aphezulu, azosekelwa njengengxenye yohlelo lwe-βVulkan Milestoneβ.
Ngesikhathi esifanayo, kwethulwa uhlelo lokuqalisa ukusekelwa kokucaciswa okusha nezandiso ezengeziwe emakhadini ezithombe nezishayeli zedivayisi. I-Intel, AMD, ARM kanye ne-NVIDIA balungiselela ukukhipha imikhiqizo esekela i-Vulkan 1.3. Isibonelo, i-AMD imemezele ukuthi maduze izosekela i-Vulkan 1.3 ochungechungeni lwe-AMD Radeon RX Vega lwamakhadi ehluzo, kanye nakuwo wonke amakhadi asekelwe ekwakhiweni kwe-AMD RDNA. I-NVIDIA ilungiselela ukushicilela abashayeli abasekelwa i-Vulkan 1.3 ye-Linux ne-Windows. I-ARM izokwengeza ukusekelwa kwe-Vulkan 1.3 kuma-GPU aseMali.
Okuqanjiwe okuyinhloko:
- Usekelo lwamaphasi okunikezwayo alula (Ukusakaza Amaphasi Wokuhlinzeka, i-VK_KHR_dynamic_rendering) sekwenziwe, okukuvumela ukuthi uqale ukunikezela ngaphandle kokudala ukunikeza amaphasi nezinto zefreyimu.
- Izandiso ezintsha zengeziwe ukuze kwenziwe lula ukuphathwa kokuhlanganiswa kwepayipi lezithombe (umugqa wepayipi, isethi yemisebenzi eshintsha okokuqala kwezithombe ze-vector kanye nokuthungwa kube izethulo zamaphikseli).
- I-VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - engeza izimo eziguquguqukayo ezengeziwe ukuze unciphise inani lezinto zezwe ezihlanganisiwe nezinamathiselwe.
- I-VK_EXT_pipeline_creation_cache_control - Ihlinzeka ngezilawuli ezithuthukisiwe zokuthi amapayipi ahlanganiswa nini futhi kanjani.
- I-VK_EXT_pipeline_creation_feedback - Ihlinzeka ngolwazi mayelana namapayipi ahlanganisiwe ukwenza ukuphrofayela nokulungisa iphutha kube lula.
- Izici eziningi zidlulisiwe zisuka kokuzikhethela zayiswa kokuphoqelekile. Isibonelo, ukusetshenziswa kwereferensi yebhafa (VK_KHR_buffer_device_address) kanye nemodeli yememori ye-Vulkan, echaza ukuthi imicu ehambisanayo ingafinyelela kanjani kudatha eyabiwe kanye nemisebenzi yokuvumelanisa, manje sekuyimpoqo.
- Ukulawulwa kweqembu elingaphansi kwe-Fine-grained (VK_EXT_subgroup_size_control) kunikezwa ukuze abathengisi bakwazi ukunikeza ukusekelwa kosayizi abaningi beqembu futhi onjiniyela bakwazi ukukhetha usayizi abawudingayo.
- Isandiso se-VK_KHR_shader_integer_dot_product sinikiwe, esingasetshenziswa ukuthuthukisa ukusebenza kwezinhlaka zokufunda zomshini ngenxa yokusheshisa ihadiwe yokusebenza komkhiqizo wamachashazi.
- Isamba sokunwetshwa okusha okungu-23 kufakiwe:
- VK_KHR_copy_commands2
- I-VK_KHR_dynamic_rendering
- VK_KHR_format_feature_flags2
- VK_KHR_maintenance4
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- VK_KHR_zero_initialize_workgroup_memory
- Amafomethi we-VK_EXT_4444_
- I-VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_image_robustness
- VK_EXT_inline_uniform_block
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_pipeline_creation_feedback
- VK_EXT_datha_eyimfihlo
- VK_EXT_shader_demote_to_helper_vocation
- I-VK_EXT_subgroup_size_control
- VK_EXT_texel_buffer_ ukuqondanisa
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_tooling_info
- VK_EXT_ycbcr_2plane_444_amafomethi
- Kwengezwe into entsha yohlobo lwe-VkPrivateDataSlot. Kwasetshenziswa imiyalo emisha engama-37 kanye nezakhiwo ezingaphezu kuka-60.
- Incazelo ye-SPIR-V 1.6 ibuyekeziwe ukuze ichaze ukumelwa kwe-shader okumaphakathi okukhona emhlabeni wonke kuzo zonke izinkundla futhi kungasetshenziselwa kokubili ihluzo kanye nekhompuyutha efanayo. I-SPIR-V ihlanganisa ukuhlukanisa isigaba esihlukile sokuhlanganiswa kwe-shader sibe isethulo esimaphakathi, esikuvumela ukuthi udale izindawo ezingaphambili zezilimi ezihlukahlukene ezisezingeni eliphezulu. Ngokusekelwe ekusetshenzisweni okuhlukahlukene kwezinga eliphezulu, ikhodi eyodwa emaphakathi ikhiqizwa ngokuhlukana, engasetshenziswa abashayeli be-OpenGL, i-Vulkan ne-OpenCL ngaphandle kokusebenzisa i-shader compiler eyakhelwe ngaphakathi.
- Umqondo wamaphrofayili wokuhambisana uyaphakanyiswa. I-Google ingeyokuqala ukukhipha iphrofayili eyisisekelo yeplathifomu ye-Android, okuzokwenza kube lula ukunquma izinga losekelo lamakhono athuthukisiwe e-Vulkan kudivayisi edlula ukucaciswa kwe-Vulkan 1.0. Kumadivayisi amaningi, ukwesekwa kwephrofayela kunganikezwa ngaphandle kokufaka izibuyekezo ze-OTA.
Masikhumbule ukuthi i-Vulkan API iphawuleka ngokwenza lula kakhulu abashayeli, ukudluliselwa kokukhiqizwa kwemiyalelo ye-GPU ohlangothini lwesicelo, ikhono lokuxhuma izingqimba zokulungisa iphutha, ukuhlanganisa i-API yamapulatifomu ahlukahlukene kanye nokusetshenziswa kwe-precompiled. ukumelwa okumaphakathi kwekhodi ukuze kusetshenziswe ohlangothini lwe-GPU. Ukuqinisekisa ukusebenza okuphezulu nokubikezela, i-Vulkan ihlinzeka izinhlelo zokusebenza ngokulawula okuqondile kokusebenza kwe-GPU kanye nokwesekwa komdabu kwe-GPU ye-multi-threading, enciphisa umshayeli ongaphezulu futhi yenze amakhono ohlangothini lomshayeli abe lula kakhulu futhi abikezelwe kakhudlwana. Isibonelo, imisebenzi efana nokuphathwa kwememori nokuphatha amaphutha, okusetshenziswa ku-OpenGL ohlangothini lomshayeli, ihanjiswa kuleveli yohlelo ku-Vulkan.
I-Vulkan ihlanganisa zonke izinkundla ezitholakalayo futhi inikeza i-API eyodwa yedeskithophu, iselula, newebhu, evumela i-API eyodwa evamile ukuthi isetshenziswe kuwo wonke ama-GPU amaningi nezinhlelo zokusebenza. Ngenxa yesakhiwo se-Vulkan esinezingqimba eziningi, okusho ukuthi amathuluzi asebenza nanoma iyiphi i-GPU, ama-OEM angasebenzisa amathuluzi asezingeni lomkhakha ukuze abuyekeze ikhodi, alungise iphutha, futhi enze iphrofayela ngesikhathi sokuthuthukiswa. Ukuze kudalwe imithunzi, kuhlongozwa ukumelwa okusha okuphathekayo okumaphakathi, i-SPIR-V, okusekelwe ku-LLVM nokwabelana ngobuchwepheshe obuyisisekelo ne-OpenCL. Ukuze ulawule amadivayisi nezikrini, i-Vulkan inikeza isixhumi esibonakalayo se-WSI (Window System Integration), esixazulula cishe izinkinga ezifanayo ne-EGL ku-OpenGL ES. Ukusekelwa kwe-WSI kuyatholakala ngaphandle kwebhokisi e-Wayland - zonke izinhlelo zokusebenza ezisebenzisa i-Vulkan zingasebenza endaweni yamaseva we-Wayland angalungiswanga. Amandla okusebenza nge-WSI anikezwe ne-Android, X11 (nge-DRI3), iWindows, iTizen, i-macOS ne-iOS.
Source: opennet.ru