Standard tal-grafika Vulkan 1.3 ippubblikat

Wara sentejn ta 'ħidma, il-konsorzju tal-istandards tal-grafika Khronos ippubblika l-ispeċifikazzjoni Vulkan 1.3, li tiddefinixxi API għall-aċċess għall-kapaċitajiet tal-grafika u tal-kompjuters tal-GPUs. L-ispeċifikazzjoni l-ġdida tinkorpora korrezzjonijiet u estensjonijiet akkumulati fuq sentejn. Huwa nnutat li r-rekwiżiti tal-ispeċifikazzjoni Vulkan 1.3 huma ddisinjati għal tagħmir tal-grafika tal-klassi OpenGL ES 3.1, li se jiżgura appoġġ għall-API tal-grafika l-ġdida fil-GPUs kollha li jappoġġjaw Vulkan 1.2. L-għodod Vulkan SDK huma ppjanati li jiġu ppubblikati f'nofs Frar. Minbarra l-ispeċifikazzjoni ewlenija, huwa ppjanat li joffri estensjonijiet addizzjonali għal apparati mobbli u desktop ta 'livell medju u high-end, li se jkunu appoġġjati bħala parti mill-edizzjoni "Vulkan Milestone".

Fl-istess ħin, jiġi ppreżentat pjan biex jiġi implimentat appoġġ għall-ispeċifikazzjoni l-ġdida u estensjonijiet addizzjonali fil-karti tal-grafika u s-sewwieqa tal-apparat. Intel, AMD, ARM u NVIDIA qed iħejju biex jirrilaxxaw prodotti li jappoġġjaw Vulkan 1.3. Pereżempju, AMD ħabbret li dalwaqt se tappoġġja Vulkan 1.3 fis-serje AMD Radeon RX Vega ta 'karti tal-grafika, kif ukoll fil-karti kollha bbażati fuq l-arkitettura AMD RDNA. NVIDIA qed tipprepara biex tippubblika sewwieqa b'appoġġ għal Vulkan 1.3 għal Linux u Windows. ARM se jżid l-appoġġ għal Vulkan 1.3 għall-GPUs Mali.

Innovazzjonijiet ewlenin:

  • Ġie implimentat appoġġ għal pass ta' rendering simplifikati (Streamlining Render Passes, VK_KHR_dynamic_rendering) li jippermettilek tibda tirrendi mingħajr ma toħloq passes ta' rendering u oġġetti framebuffer.
  • Ġew miżjuda estensjonijiet ġodda biex jissimplifikaw il-ġestjoni tal-kompilazzjoni tal-pipeline tal-grafika (pipeline, sett ta 'operazzjonijiet li jibdlu l-primittivi u n-nisġa tal-grafika vettorjali f'rappreżentazzjonijiet tal-pixel).
    • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - żid stati dinamiċi addizzjonali biex tnaqqas in-numru ta 'oġġetti ta' stat ikkumpilati u mehmuża.
    • VK_EXT_pipeline_creation_cache_control - Jipprovdi kontrolli avvanzati fuq meta u kif jiġu kkompilati pipelines.
    • VK_EXT_pipeline_creation_feedback - Jipprovdi informazzjoni dwar pipelines ikkumpilati biex jagħmlu l-profiling u d-debugging aktar faċli.
  • Numru ta' karatteristiċi ġew trasferiti minn fakultattiv għal obbligatorju. Pereżempju, l-implimentazzjoni tar-referenzi tal-buffer (VK_KHR_buffer_device_address) u l-mudell tal-memorja Vulkan, li jiddefinixxi kif il-ħjut konkorrenti jistgħu jaċċessaw dejta kondiviża u operazzjonijiet ta 'sinkronizzazzjoni, issa huma obbligatorji.
  • Kontroll ta 'sottogrupp fin (VK_EXT_subgroup_size_control) huwa pprovdut sabiex il-bejjiegħa jkunu jistgħu jipprovdu appoġġ għal daqsijiet ta' sottogrupp multipli u l-iżviluppaturi jistgħu jagħżlu d-daqs li jeħtieġu.
  • Ġiet ipprovduta l-estensjoni VK_KHR_shader_integer_dot_product, li tista 'tintuża biex tottimizza l-prestazzjoni tal-oqfsa tat-tagħlim tal-magni grazzi għall-aċċelerazzjoni tal-hardware tal-operazzjonijiet tal-prodott dot.
  • B'kollox huma inklużi 23 espansjoni ġdida:
    • VK_KHR_copy_commands2
    • VK_KHR_dynamic_rendering
    • VK_KHR_format_feature_flags2
    • VK_KHR_manutenzjoni4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_sinkronizzazzjoni2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_stat_dinamiku_estiż
    • VK_EXT_extended_dynamic_state2
    • VK_EXT_image_robustezza
    • VK_EXT_inline_uniform_block
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_pipeline_creation_feedback
    • VK_EXT_data_privata
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_subgroup_size_control
    • VK_EXT_texel_buffer_alignment
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_formats
  • Żid tip ta' oġġett ġdid VkPrivateDataSlot. Ġew implimentati 37 kmand ġdid u aktar minn 60 struttura.
  • L-ispeċifikazzjoni SPIR-V 1.6 ġiet aġġornata biex tiddefinixxi rappreżentazzjoni ta 'shader intermedja li hija universali għall-pjattaformi kollha u tista' tintuża kemm għall-grafika kif ukoll għall-kompjuters paralleli. SPIR-V jinvolvi s-separazzjoni ta 'fażi ta' kumpilazzjoni shader separata f'rappreżentazzjoni intermedja, li tippermettilek toħloq frontends għal diversi lingwi ta 'livell għoli. Ibbażat fuq diversi implimentazzjonijiet ta 'livell għoli, kodiċi intermedju wieħed huwa ġġenerat separatament, li jista' jintuża minn sewwieqa OpenGL, Vulkan u OpenCL mingħajr ma juża l-kompilatur shader inkorporat.
  • Il-kunċett ta' profili ta' kompatibilità huwa propost. Google hija l-ewwel waħda li tirrilaxxa profil ta 'linja bażi għall-pjattaforma Android, li jagħmilha aktar faċli biex jiġi ddeterminat il-livell ta' appoġġ għal kapaċitajiet avvanzati ta 'Vulkan fuq apparat lil hinn mill-ispeċifikazzjoni Vulkan 1.0. Għall-biċċa l-kbira tat-tagħmir, l-appoġġ tal-profil jista 'jiġi pprovdut mingħajr ma jiġu installati aġġornamenti OTA.

Ejja nfakkru li l-API Vulkan hija notevoli għas-simplifikazzjoni radikali tagħha tas-sewwieqa, it-trasferiment tal-ġenerazzjoni ta 'kmandi tal-GPU għan-naħa tal-applikazzjoni, il-kapaċità li tikkonnettja saffi ta' debugging, l-unifikazzjoni tal-API għal diversi pjattaformi u l-użu ta 'precompiled. rappreżentazzjoni intermedja tal-kodiċi għall-eżekuzzjoni fuq in-naħa tal-GPU. Biex tiżgura prestazzjoni għolja u prevedibbiltà, Vulkan jipprovdi applikazzjonijiet b'kontroll dirett fuq l-operazzjonijiet tal-GPU u appoġġ nattiv għall-GPU multi-threading, li jimminimizza l-overhead tas-sewwieq u jagħmel il-kapaċitajiet tan-naħa tas-sewwieq ħafna aktar sempliċi u prevedibbli. Pereżempju, operazzjonijiet bħall-ġestjoni tal-memorja u l-immaniġġjar tal-iżbalji, implimentati f'OpenGL fuq in-naħa tas-sewwieq, jitmexxew għal-livell ta 'applikazzjoni f'Vulkan.

Vulkan jifrex fuq il-pjattaformi kollha disponibbli u jipprovdi API waħda għad-desktop, il-mowbajl u l-web, li tippermetti li tintuża API komuni waħda f'diversi GPUs u applikazzjonijiet. Grazzi għall-arkitettura b'ħafna saffi ta 'Vulkan, li tfisser għodod li jaħdmu ma' kwalunkwe GPU, l-OEMs jistgħu jużaw għodod standard tal-industrija għal reviżjoni tal-kodiċi, debugging, u profiling waqt l-iżvilupp. Għall-ħolqien ta 'shaders, hija proposta rappreżentazzjoni intermedja portabbli ġdida, SPIR-V, ibbażata fuq LLVM u qsim ta' teknoloġiji ewlenin ma 'OpenCL. Biex tikkontrolla apparat u skrins, Vulkan joffri l-interface WSI (Window System Integration), li ssolvi bejn wieħed u ieħor l-istess problemi bħal EGL f'OpenGL ES. L-appoġġ WSI huwa disponibbli barra mill-kaxxa f'Wayland - l-applikazzjonijiet kollha li jużaw Vulkan jistgħu jaħdmu f'ambjent ta 'servers Wayland mhux modifikati. Il-ħila li taħdem permezz tal-WSI hija pprovduta wkoll għal Android, X11 (b'DRI3), Windows, Tizen, macOS u iOS.

Sors: opennet.ru

Żid kumment