I-Graphics standard i-Vulkan 1.3 ishicilelwe

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

Engeza amazwana