Eya boṣewa Vulkan 1.3 atejade

Lẹhin ọdun meji ti iṣẹ, Consortium awọn ajohunše eya aworan Khronos ti ṣe atẹjade sipesifikesonu Vulkan 1.3, eyiti o ṣalaye API kan fun iraye si awọn eya aworan ati awọn agbara iširo ti awọn GPU. Sipesifikesonu tuntun ṣafikun awọn atunṣe ati awọn amugbooro ti a kojọpọ ju ọdun meji lọ. O ṣe akiyesi pe awọn ibeere ti sipesifikesonu Vulkan 1.3 jẹ apẹrẹ fun ohun elo awọn ẹya kilasi OpenGL ES 3.1, eyiti yoo rii daju atilẹyin fun API awọn aworan tuntun ni gbogbo awọn GPU ti o ṣe atilẹyin Vulkan 1.2. Awọn irinṣẹ Vulkan SDK ni a gbero lati ṣe atẹjade ni aarin Oṣu Kini. Ni afikun si sipesifikesonu akọkọ, o ti gbero lati pese awọn amugbooro afikun fun agbedemeji-aarin ati awọn ẹrọ alagbeka ti o ga julọ ati tabili tabili, eyiti yoo ṣe atilẹyin gẹgẹ bi apakan ti ẹda “Vulkan Milestone”.

Ni akoko kanna, a ṣe agbekalẹ ero kan lati ṣe atilẹyin fun sipesifikesonu tuntun ati awọn amugbooro afikun ni awọn kaadi eya aworan ati awọn awakọ ẹrọ. Intel, AMD, ARM ati NVIDIA ngbaradi lati tu awọn ọja ti o ṣe atilẹyin Vulkan 1.3. Fun apẹẹrẹ, AMD kede pe yoo ṣe atilẹyin Vulkan 1.3 laipẹ ni jara AMD Radeon RX Vega ti awọn kaadi eya aworan, ati ni gbogbo awọn kaadi ti o da lori faaji AMD RDNA. NVIDIA ngbaradi lati ṣe atẹjade awọn awakọ pẹlu atilẹyin fun Vulkan 1.3 fun Linux ati Windows. ARM yoo ṣafikun atilẹyin fun Vulkan 1.3 si Mali GPUs.

Awọn imotuntun akọkọ:

  • Atilẹyin fun awọn gbigbe gbigbe ni irọrun (Awọn ọna gbigbe Streamlining, VK_KHR_dynamic_rendering) ti ni imuse, gbigba ọ laaye lati bẹrẹ ṣiṣe laisi ṣiṣẹda awọn ọna gbigbe ati awọn nkan fireemu.
  • A ti ṣafikun awọn ifaagun tuntun lati jẹ ki iṣakoso ti iṣakojọpọ opo gigun ti awọn eya aworan jẹ irọrun (pipeline, eto awọn iṣẹ ṣiṣe ti o yi awọn apilẹkọ awọn aworan alaworan ati awọn awoara sinu awọn aṣoju ẹbun).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - ṣafikun awọn ipinlẹ ti o ni agbara lati dinku nọmba awọn nkan ipinlẹ ti a ṣajọ ati ti a so.
    • VK_EXT_pipeline_creation_cache_control - Pese awọn idari ilọsiwaju lori igba ati bii a ṣe ṣajọ awọn opo gigun ti epo.
    • VK_EXT_pipeline_creation_feedback - Pese alaye nipa awọn opo gigun ti o ṣajọpọ lati jẹ ki profaili ati ṣiṣatunṣe rọrun.
  • Nọmba awọn ẹya ti a ti gbe lati iyan si dandan. Fun apẹẹrẹ, imuse awọn itọkasi ifipamọ (VK_KHR_buffer_device_address) ati awoṣe iranti Vulkan, eyiti o ṣalaye bii awọn okun nigbakan ṣe le wọle si data pinpin ati awọn iṣẹ amuṣiṣẹpọ, jẹ dandan.
  • Iṣakoso ẹgbẹ-ipin ti o dara (VK_EXT_subgroup_size_control) ti pese ki awọn olutaja le pese atilẹyin fun awọn titobi ẹgbẹ-ẹgbẹ pupọ ati awọn olupilẹṣẹ le yan iwọn ti wọn nilo.
  • A ti pese itẹsiwaju VK_KHR_shader_integer_dot_product, eyiti o le ṣee lo lati mu iṣẹ ṣiṣe ti awọn ilana ikẹkọ ẹrọ ṣe ọpẹ si isare ohun elo ti awọn iṣẹ ọja aami.
  • Apapọ awọn imugboroja tuntun 23 wa pẹlu:
    • VK_KHR_copy_commands2
    • VK_KHR_dynamic_rendering
    • VK_KHR_kika_feature_flags2
    • VK_KHR_itọju4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_epe
    • VK_KHR_synchronization2
    • VK_KHR_zero_initialize_workgroup_memory
    • Awọn ọna kika VK_EXT_4444
    • 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_ ikọkọ_data
    • VK_EXT_shader_demote_to_ oluranlowo_pepe
    • VK_EXT_subgroup_size_control
    • VK_EXT_texel_buffer_alignment
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • Awọn ọna kika VK_EXT_ycbcr_2plane_444_
  • Ti ṣafikun iru nkan tuntun VkPrivateDataSlot. Awọn aṣẹ tuntun 37 ati diẹ sii ju awọn ẹya 60 ti a ṣe.
  • Sipesifikesonu SPIR-V 1.6 ti ni imudojuiwọn lati ṣalaye aṣoju ojiji agbedemeji ti o jẹ gbogbo agbaye fun gbogbo awọn iru ẹrọ ati pe o le ṣee lo fun awọn eya aworan mejeeji ati iširo afiwera. SPIR-V pẹlu yiya sọtọ ipele akojọpọ shader lọtọ si aṣoju agbedemeji, eyiti o fun ọ laaye lati ṣẹda awọn iwaju iwaju fun ọpọlọpọ awọn ede ipele giga. Da lori ọpọlọpọ awọn imuse ipele giga, koodu agbedemeji kan jẹ ipilẹṣẹ lọtọ, eyiti o le ṣee lo nipasẹ OpenGL, Vulkan ati awọn awakọ OpenCL laisi lilo akopọ shader ti a ṣe sinu.
  • Agbekale ti awọn profaili ibaramu. Google jẹ akọkọ lati tu profaili ipilẹ silẹ fun pẹpẹ Android, eyiti yoo jẹ ki o rọrun lati pinnu ipele ti atilẹyin fun awọn agbara Vulkan ti ilọsiwaju lori ẹrọ ti o kọja sipesifikesonu Vulkan 1.0. Fun ọpọlọpọ awọn ẹrọ, atilẹyin profaili le pese laisi fifi awọn imudojuiwọn OTA sori ẹrọ.

Jẹ ki a ranti pe Vulkan API jẹ ohun akiyesi fun simplification ti ipilẹṣẹ ti awọn awakọ, gbigbe ti iran ti awọn aṣẹ GPU si ẹgbẹ ohun elo, agbara lati so awọn fẹlẹfẹlẹ n ṣatunṣe aṣiṣe, isokan API fun awọn iru ẹrọ lọpọlọpọ ati lilo iṣaju iṣaju. agbedemeji oniduro ti koodu fun ipaniyan lori GPU ẹgbẹ. Lati rii daju pe iṣẹ ṣiṣe giga ati asọtẹlẹ, Vulkan pese awọn ohun elo pẹlu iṣakoso taara lori awọn iṣẹ GPU ati atilẹyin abinibi fun GPU pupọ-threading, eyiti o dinku awakọ awakọ ati mu ki awọn agbara ẹgbẹ awakọ rọrun pupọ ati asọtẹlẹ diẹ sii. Fun apẹẹrẹ, awọn iṣẹ bii iṣakoso iranti ati mimu aṣiṣe, ti a ṣe ni OpenGL ni ẹgbẹ awakọ, ni a gbe lọ si ipele ohun elo ni Vulkan.

Vulkan ṣe agbejade gbogbo awọn iru ẹrọ ti o wa ati pese API ẹyọkan fun tabili tabili, alagbeka, ati wẹẹbu, gbigba API ti o wọpọ lati ṣee lo kọja awọn GPU ati awọn ohun elo lọpọlọpọ. Ṣeun si faaji-pupọ pupọ ti Vulkan, eyiti o tumọ si awọn irinṣẹ ti o ṣiṣẹ pẹlu GPU eyikeyi, OEM le lo awọn irinṣẹ boṣewa ile-iṣẹ fun atunyẹwo koodu, n ṣatunṣe aṣiṣe, ati profaili lakoko idagbasoke. Fun ṣiṣẹda awọn shaders, aṣoju agbedemeji agbedemeji agbedemeji tuntun, SPIR-V, ti dabaa, da lori LLVM ati pinpin awọn imọ-ẹrọ pataki pẹlu OpenCL. Lati ṣakoso awọn ẹrọ ati awọn iboju, Vulkan nfunni ni wiwo WSI (Window System Integration), eyiti o yanju isunmọ awọn iṣoro kanna bi EGL ni OpenGL ES. Atilẹyin WSI wa lati inu apoti ni Wayland - gbogbo awọn ohun elo ti o lo Vulkan le ṣiṣẹ ni agbegbe ti awọn olupin Wayland ti ko yipada. Agbara lati ṣiṣẹ nipasẹ WSI tun pese fun Android, X11 (pẹlu DRI3), Windows, Tizen, macOS ati iOS.

orisun: opennet.ru

Fi ọrọìwòye kun