Graphics standard Vulkan 1.3 imechapishwa

Baada ya miaka miwili ya kazi, muungano wa viwango vya graphics Khronos umechapisha vipimo vya Vulkan 1.3, ambavyo vinafafanua API ya kufikia michoro na uwezo wa kompyuta wa GPU. Vipimo vipya vinajumuisha masahihisho na viendelezi vilivyokusanywa kwa miaka miwili. Imebainika kuwa mahitaji ya vipimo vya Vulkan 1.3 yameundwa kwa ajili ya vifaa vya michoro vya darasa la OpenGL ES 3.1, ambavyo vitahakikisha usaidizi wa API mpya ya michoro katika GPU zote zinazotumia Vulkan 1.2. Zana za SDK za Vulkan zimepangwa kuchapishwa katikati ya Februari. Mbali na vipimo kuu, imepangwa kutoa upanuzi wa ziada kwa vifaa vya kati na vya juu vya rununu na vya mezani, ambavyo vitaungwa mkono kama sehemu ya toleo la "Vulkan Milestone".

Wakati huo huo, mpango unawasilishwa ili kutekeleza usaidizi wa vipimo vipya na upanuzi wa ziada katika kadi za graphics na madereva ya kifaa. Intel, AMD, ARM na NVIDIA wanajiandaa kutoa bidhaa zinazounga mkono Vulkan 1.3. Kwa mfano, AMD ilitangaza kwamba hivi karibuni itaunga mkono Vulkan 1.3 katika mfululizo wa AMD Radeon RX Vega wa kadi za graphics, na pia katika kadi zote kulingana na usanifu wa AMD RDNA. NVIDIA inajiandaa kuchapisha viendeshaji vinavyotumia Vulkan 1.3 kwa ajili ya Linux na Windows. ARM itaongeza usaidizi kwa Vulkan 1.3 kwa GPU za Mali.

Ubunifu kuu:

  • Usaidizi wa pasi zilizorahisishwa za uwasilishaji (Kuhuisha Pasi za Utoaji, VK_KHR_dynamic_rendering) umetekelezwa, kukuruhusu kuanza kutoa bila kuunda pasi za uwasilishaji na vipengee vya fremu.
  • Viendelezi vipya vimeongezwa ili kurahisisha usimamizi wa utungaji wa bomba la picha (bomba, seti ya shughuli zinazogeuza picha za asili na maumbo ya vekta kuwa uwakilishi wa pikseli).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - ongeza hali zenye nguvu za ziada ili kupunguza idadi ya vitu vya hali vilivyokusanywa na kuambatishwa.
    • VK_EXT_pipeline_creation_cache_control - Hutoa udhibiti wa hali ya juu juu ya lini na jinsi mabomba yanakusanywa.
    • VK_EXT_pipeline_creation_feedback - Hutoa maelezo kuhusu mabomba yaliyokusanywa ili kurahisisha uwekaji wasifu na utatuzi.
  • Vipengele kadhaa vimehamishwa kutoka kwa hiari hadi kwa lazima. Kwa mfano, utekelezaji wa marejeleo ya bafa (VK_KHR_buffer_device_address) na muundo wa kumbukumbu wa Vulkan, ambao unafafanua jinsi nyuzi zinazofanana zinavyoweza kufikia data iliyoshirikiwa na shughuli za ulandanishi, sasa ni za lazima.
  • Udhibiti wa kikundi kidogo (VK_EXT_subgroup_size_control) hutolewa ili wachuuzi waweze kutoa usaidizi kwa ukubwa wa vikundi vidogo na wasanidi wanaweza kuchagua ukubwa wanaohitaji.
  • Kiendelezi cha VK_KHR_shader_integer_dot_product kimetolewa, ambacho kinaweza kutumika kuboresha utendaji wa mifumo ya kujifunza kwa mashine kutokana na kuongeza kasi ya maunzi ya uendeshaji wa bidhaa za nukta.
  • Jumla ya upanuzi mpya 23 umejumuishwa:
    • VK_KHR_copy_commands2
    • VK_KHR_dynamic_rendering
    • VK_KHR_format_feature_flags2
    • VK_KHR_maintenance4
    • VK_KHR_shader_integer_dot_bidhaa
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_synchronization2
    • VK_KHR_zero_initialize_workgroup_memory
    • Fomati za VK_EXT_4444_
    • Jimbo la VK_EXT_extended_dynamic_state
    • VK_EXT_extended_dynamic_state2
    • Maana ya jina la jina
    • VK_EXT_inline_uniform_block
    • VK_EXT_pipe_creation_cache_control
    • VK_EXT_pipeline_creation_feedback
    • VK_EXT_data_ya faragha
    • VK_EXT_shader_demote_to_saidie_mwito
    • VK_EXT_sikundi_ya_udhibiti
    • Usawazishaji wa VK_EXT_texel_buffer_
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_maelezo
    • VK_EXT_ycbcr_2plane_444_umbizo
  • Imeongeza aina mpya ya kitu VkPrivateDataSlot. Amri mpya 37 na miundo zaidi ya 60 ilitekelezwa.
  • Vipimo vya SPIR-V 1.6 vimesasishwa ili kufafanua uwakilishi wa kati wa shader ambao ni wa ulimwengu wote kwa mifumo yote na unaweza kutumika kwa michoro na kompyuta sambamba. SPIR-V inahusisha kutenganisha awamu tofauti ya mkusanyiko wa shader katika uwakilishi wa kati, ambayo inakuwezesha kuunda sehemu za mbele za lugha mbalimbali za kiwango cha juu. Kulingana na utekelezaji mbalimbali wa kiwango cha juu, msimbo mmoja wa kati hutolewa tofauti, ambao unaweza kutumiwa na viendeshi vya OpenGL, Vulkan na OpenCL bila kutumia kikusanya shader kilichojengewa ndani.
  • Dhana ya wasifu wa utangamano inapendekezwa. Google ni ya kwanza kutoa wasifu wa msingi wa mfumo wa Android, ambao utarahisisha kubainisha kiwango cha usaidizi wa uwezo wa hali ya juu wa Vulkan kwenye kifaa zaidi ya vipimo vya Vulkan 1.0. Kwa vifaa vingi, usaidizi wa wasifu unaweza kutolewa bila kusakinisha masasisho ya OTA.

Wacha tukumbuke kwamba API ya Vulkan inajulikana kwa kurahisisha kwa kasi kwa madereva, uhamishaji wa kizazi cha amri za GPU kwa upande wa maombi, uwezo wa kuunganisha tabaka za utatuzi, kuunganishwa kwa API kwa majukwaa anuwai na utumiaji wa programu iliyoandaliwa mapema. uwakilishi wa kati wa msimbo wa utekelezaji kwenye upande wa GPU. Ili kuhakikisha utendakazi wa hali ya juu na kutabirika, Vulkan hutoa programu kwa udhibiti wa moja kwa moja juu ya uendeshaji wa GPU na usaidizi asilia kwa ajili ya uwekaji nyuzi nyingi wa GPU, ambayo hupunguza uendeshaji wa dereva na kufanya uwezo wa upande wa dereva kuwa rahisi zaidi na kutabirika zaidi. Kwa mfano, shughuli kama vile usimamizi wa kumbukumbu na ushughulikiaji wa makosa, unaotekelezwa katika OpenGL kwenye upande wa dereva, huhamishwa hadi kiwango cha programu katika Vulkan.

Vulkan hutumia majukwaa yote yanayopatikana na hutoa API moja ya eneo-kazi, simu, na wavuti, ikiruhusu API moja ya kawaida kutumika kwenye GPU nyingi na programu. Shukrani kwa usanifu wa safu nyingi wa Vulkan, ambao unamaanisha zana zinazofanya kazi na GPU yoyote, OEMs zinaweza kutumia zana za kiwango cha tasnia kwa ukaguzi wa msimbo, utatuzi, na wasifu wakati wa kuunda. Kwa kuunda vivuli, uwakilishi mpya wa kati unaobebeka, SPIR-V, unapendekezwa, kulingana na LLVM na kushiriki teknolojia za msingi na OpenCL. Ili kudhibiti vifaa na skrini, Vulkan hutoa kiolesura cha WSI (Window System Integration), ambacho hutatua takriban matatizo sawa na EGL katika OpenGL ES. Usaidizi wa WSI unapatikana nje ya kisanduku katika Wayland - programu zote zinazotumia Vulkan zinaweza kufanya kazi katika mazingira ya seva za Wayland ambazo hazijarekebishwa. Uwezo wa kufanya kazi kupitia WSI pia hutolewa kwa Android, X11 (na DRI3), Windows, Tizen, macOS na iOS.

Chanzo: opennet.ru

Kuongeza maoni