Imizobo esemgangathweni iVulkan 1.3 ipapashwe

Emva kweminyaka emibini yomsebenzi, i-graphics standards consortium Khronos ipapashe i-Vulkan 1.3 specication, echaza i-API yokufikelela kwigraphics kunye ne-computing capabilities ye-GPUs. Ingcaciso entsha ibandakanya izilungiso kunye nolwandiso oluqokelelwe kwisithuba seminyaka emibini. Kuqatshelwe ukuba iimfuno zenkcazo ye-Vulkan 1.3 yenzelwe i-OpenGL ES 3.1 izixhobo zegrafiki zeklasi, eziza kuqinisekisa inkxaso ye-API emitsha yemizobo kuzo zonke ii-GPU ezixhasa i-Vulkan 1.2. Izixhobo zeVulkan SDK zicwangciselwe ukupapashwa phakathi kuFebruwari. Ukongeza kwingcaciso ephambili, kucetywa ukubonelela ngezongezelelo ezongezelelweyo kuluhlu oluphakathi kunye nezixhobo eziphezulu zeselula kunye ne-desktop, eziza kuxhaswa njengenxalenye ye-Vulkan Milestone edition.

Ngexesha elifanayo, isicwangciso sinikezelwa ukuphumeza inkxaso yenkcazo entsha kunye nezandiso ezongezelelweyo kumakhadi emizobo kunye nabaqhubi bezixhobo. I-Intel, i-AMD, i-ARM kunye ne-NVIDIA zilungiselela ukukhulula iimveliso ezixhasa i-Vulkan 1.3. Umzekelo, i-AMD ibhengeze ukuba kungekudala iza kuxhasa i-Vulkan 1.3 kuluhlu lwe-AMD Radeon RX Vega lwamakhadi emizobo, kunye nakuwo onke amakhadi asekelwe kuyilo lwe-AMD RDNA. I-NVIDIA ilungiselela ukupapasha abaqhubi ngenkxaso yeVulkan 1.3 yeLinux kunye neWindows. I-ARM iyakongeza inkxaso ye-Vulkan 1.3 ukuya kwi-Mali GPUs.

Iinguqulelo eziphambili:

  • Inkxaso yonikezelo olulula lokudlula (Ukuhanjiswa kwe-Render, VK_KHR_dynamic_rendering) kuphunyeziwe, kukuvumela ukuba uqalise unikezelo ngaphandle kokwenza unikezelo lokudlula kunye nezinto zesakhelo se-framebuffer.
  • Izandiso ezitsha zongezelelwe ukwenza lula ulawulo lwemibhobho yegraphics edityanisiweyo (umbhobho, iseti yemisebenzi ejika iVector yegraphics primitives and textures into pixels).
    • I-VK_EXT_extended_dynamic_state, i-VK_EXT_extended_dynamic_state2 - yongeza iimeko ezongezelelweyo eziguquguqukayo ukunciphisa inani lezinto ezihlanganisiweyo neziqhotyoshelweyo.
    • VK_EXT_pipeline_creation_cache_control - Ibonelela ngolawulo oluphezulu malunga nokuba ihlanganiswe nini kwaye njani imibhobho.
    • I-VK_EXT_pipeline_creation_feedback - Ibonelela ngolwazi malunga nemibhobho ehlanganisiweyo ukwenza iprofayile kunye nokulungiswa kube lula.
  • Inani leempawu zikhutshiwe ukusuka ekuzikhetheleni ukuya kwisinyanzelo. Umzekelo, ukuphunyezwa kweereferensi ze-buffer (VK_KHR_buffer_device_address) kunye nemodeli yememori ye-Vulkan, echaza ukuba imisonto ehambelanayo inokufikelela njani kwidatha ekwabelwana ngayo kunye nemisebenzi yongqamaniso, ngoku inyanzelekile.
  • Ulawulo lweqela elincinane (i-VK_EXT_subgroup_size_control) linikezelwa ukwenzela ukuba abathengisi banokubonelela ngenkxaso yobukhulu beqela elincinci kunye nabaphuhlisi banokukhetha ubukhulu ababufunayo.
  • Ukwandiswa kwe-VK_KHR_shader_integer_dot_product kunikezelwe, enokusetyenziswa ukunyusa ukusebenza kwesikhokelo sokufunda koomatshini ngokubulela kwi-hardware yokukhawuleza kwemisebenzi yemveliso yamachaphaza.
  • Itotali yokwandiswa okutsha okungama-23 ibandakanyiwe:
    • VK_KHR_copy_commands2
    • 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
    • VK_EXT_4444_iifomathi
    • 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_i-data_yimfihlo
    • VK_EXT_shader_demote_to_helper_vocation
    • VK_EXT_subroup_size_control
    • VK_EXT_texel_buffer_ ulungelelwaniso
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_fomati
  • Yongeza into entsha uhlobo lweVkPrivateDataSlot. Imiyalelo emitsha engama-37 kunye nezakhiwo ezingaphezu kwama-60 zaphunyezwa.
  • Inkcazo ye-SPIR-V 1.6 ihlaziywe ukuze ichaze ukumelwa kwe-shader ephakathi okuqhelekileyo kuwo onke amaqonga kwaye ingasetyenziselwa zombini iigraphics kunye ne-parallel computing. I-SPIR-V ibandakanya ukwahlula isigaba sokuqulunqa i-shader esahlukileyo sibe sisimeli esiphakathi, esikuvumela ukuba wenze ii-frontends zeelwimi ezahlukeneyo ezikumgangatho ophezulu. Ngokusekelwe kwiinkqubo ezahlukeneyo zokuphunyezwa kwezinga eliphezulu, ikhowudi enye ephakathi yenziwe ngokwahlukileyo, engasetyenziswa ngabaqhubi be-OpenGL, i-Vulkan kunye ne-OpenCL ngaphandle kokusebenzisa i-compiler ye-shader eyakhelwe ngaphakathi.
  • Ingqikelelo yeeprofayili zokuhambelana iyacetywa. I-Google ngowokuqala ukukhulula iphrofayili yesiseko kwi-platform ye-Android, eya kwenza kube lula ukumisela inqanaba lenkxaso yezakhono eziphambili ze-Vulkan kwisixhobo esingaphaya kwe-Vulkan 1.0. Kwizixhobo ezininzi, inkxaso yeprofayili inokubonelelwa ngaphandle kokufaka uhlaziyo lwe-OTA.

Masikhumbule ukuba i-Vulkan API iphawuleka ngokwenza lula kakhulu abaqhubi, ukudluliselwa kwesizukulwana semiyalelo ye-GPU ukuya kwicala lesicelo, ukukwazi ukudibanisa i-debugging layers, ukuhlanganiswa kwe-API yamaqonga ahlukeneyo kunye nokusetyenziswa kwe-precompiled. ukumelwa okuphakathi kwekhowudi yokuphunyezwa kwicala le-GPU. Ukuqinisekisa ukusebenza okuphezulu kunye nokuqikelelwa, iVulkan ibonelela ngezicelo ngolawulo oluthe ngqo kwimisebenzi ye-GPU kunye nenkxaso yemveli ye-GPU yokudibanisa imisonto emininzi, enciphisa umphezulu womqhubi kwaye yenza amandla ecala lomqhubi abe lula kwaye aqikeleleke ngakumbi. Umzekelo, imisebenzi efana nolawulo lwememori kunye nokuphatha iimpazamo, eziphunyezwe kwi-OpenGL kwicala lomqhubi, zihanjiswe kwinqanaba lesicelo kwi-Vulkan.

I-Vulkan idibanisa onke amaqonga akhoyo kwaye ibonelela nge-API enye ye-desktop, iselula, kunye newebhu, ivumela i-API enye eqhelekileyo ukuba isetyenziswe kwii-GPU ezininzi kunye nezicelo. Enkosi kuyilo lwe-Vulkan olunemigangatho emininzi, okuthetha ukuba izixhobo ezisebenza nayo nayiphi na i-GPU, ii-OEMs zinokusebenzisa izixhobo ezikumgangatho weshishini lokuphononongwa kwekhowudi, ukulungisa iimpazamo, kunye nokubhala ingxelo ngexesha lophuhliso. Ukwenza i-shaders, ukumelwa okuphakathi okuphathekayo okuphathekayo, i-SPIR-V, kucetywayo, ngokusekelwe kwi-LLVM kunye nokwabelana ngobuchwepheshe obuphambili kunye ne-OpenCL. Ukulawula izixhobo kunye nezikrini, i-Vulkan inikezela nge-WSI (i-Window System Integration) ujongano, olusombulula malunga neengxaki ezifanayo njenge-EGL kwi-OpenGL ES. Inkxaso ye-WSI ifumaneka ngaphandle kwebhokisi e-Wayland - zonke izicelo ezisebenzisa i-Vulkan zinokusebenza kwindawo yeeseva ze-Wayland ezingalungiswanga. Ukukwazi ukusebenza nge-WSI kukwabonelelwe nge-Android, i-X11 (kunye ne-DRI3), i-Windows, i-Tizen, i-macOS kunye ne-iOS.

umthombo: opennet.ru

Yongeza izimvo