Pambuyo pa zaka ziwiri za ntchito, gulu la graphics standards consortium Khronos lasindikiza ndondomeko ya Vulkan 1.3, yomwe imatanthawuza API yopezera zojambula ndi makompyuta a GPUs. Mafotokozedwe atsopanowa akuphatikiza zowongolera ndi zowonjezera zomwe zasonkhanitsidwa pazaka ziwiri. Zadziwika kuti zofunikira za Vulkan 1.3 zidapangidwira zida zojambulira za OpenGL ES 3.1, zomwe zitsimikizire kuthandizira kwazithunzi zatsopano za API mu ma GPU onse omwe amathandizira Vulkan 1.2. Zida za Vulkan SDK zikuyenera kusindikizidwa mkati mwa February. Kuphatikiza pazowunikira zazikuluzikulu, zakonzedwa kuti zipereke zowonjezera zowonjezera pazida zapakatikati komanso zapamwamba zam'manja ndi pakompyuta, zomwe zidzathandizidwa ngati gawo la "Vulkan Milestone" kope.
Nthawi yomweyo, dongosolo lothandizira pazinthu zatsopano komanso zowonjezera mu makadi ojambula zithunzi ndi madalaivala a zida linaperekedwa. Zinthu zothandizira Vulkan 1.3 zikukonzedwa ndi Intel, AMD, ARM, ndi NVIDIA. Mwachitsanzo, AMD yalengeza kuti posachedwa ipereka chithandizo cha Vulkan 1.3 mu AMD Radeon RX Vega mndandanda wa makadi ojambula, komanso m'makadi onse kutengera kapangidwe ka AMD RDNA. NVIDIA ikukonzekera kufalitsa madalaivala othandizira Vulkan 1.3 pa Linux и WindowsARM iwonjezera thandizo la Vulkan 1.3 ku ma GPU a Mali.
Zatsopano zazikulu:
- Thandizo la ma pass osavuta omasulira (Streamlining Render Passes, VK_KHR_dynamic_rendering) yakhazikitsidwa, kukulolani kuti muyambe kupereka popanda kupanga ma pass ndi zinthu za framebuffer.
- Zowonjezera zatsopano zawonjezedwa kuti muchepetse kasamalidwe ka mapaipi azithunzi (paipi, gulu la magwiridwe antchito omwe amasintha ma vector graphics oyambira ndi mawonekedwe kukhala oyimira ma pixel).
- VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 - onjezerani maiko owonjezera kuti muchepetse kuchuluka kwa zinthu zomwe zaphatikizidwa ndikuphatikizidwa.
- VK_EXT_pipeline_creation_cache_control - Imapereka maulamuliro apamwamba pa nthawi komanso momwe mapaipi amapangidwira.
- VK_EXT_pipeline_creation_feedback - Imapereka chidziwitso cha mapaipi ophatikizidwa kuti kufotokoza mbiri ndi kukonza mosavuta.
- Zinthu zingapo zasamutsidwa kuchoka pamwambo kupita ku zokakamiza. Mwachitsanzo, kukhazikitsidwa kwa maumboni a buffer (VK_KHR_buffer_device_address) ndi mtundu wa kukumbukira kwa Vulkan, womwe umatanthawuza momwe ulusi wolumikizana ungafikire ku data yogawana ndi kuyanjanitsa, ndizovomerezeka.
- Fine-grained subgroup control (VK_EXT_subgroup_size_control) imaperekedwa kuti ogulitsa athe kupereka chithandizo chamagulu ang'onoang'ono angapo ndipo opanga amatha kusankha kukula komwe akufuna.
- VK_KHR_shader_integer_dot_product yowonjezera yaperekedwa, yomwe ingagwiritsidwe ntchito kukhathamiritsa magwiridwe antchito a makina ophunzirira makina chifukwa cha kuthamangitsa kwa hardware kwa ntchito zamadontho.
- Zowonjezera zatsopano 23 zikuphatikizidwa:
- 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
- Maonekedwe a 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_private_data
- VK_EXT_shader_demote_to_helper_kuyitanitsa
- VK_EXT_sungani_size_control
- VK_EXT_texel_buffer_alignment
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_tooling_info
- VK_EXT_ycbcr_2plane_444_formats
- Adawonjezera chinthu chatsopano VkPrivateDataSlot. Malamulo atsopano 37 ndi zomanga zopitilira 60 zidakhazikitsidwa.
- Mafotokozedwe a SPIR-V 1.6 asinthidwa kuti afotokoze choyimira chapakatikati cha shader chomwe chili chapadziko lonse lapansi pamapulatifomu onse ndipo chingagwiritsidwe ntchito pazithunzi zonse ndi ma computing ofanana. SPIR-V imaphatikizapo kulekanitsa gawo lophatikizana la shader kukhala choyimira chapakati, chomwe chimakupatsani mwayi wopanga zilankhulo zakutsogolo za zilankhulo zapamwamba. Kutengera machitidwe osiyanasiyana apamwamba, code imodzi yapakatikati imapangidwa padera, yomwe ingagwiritsidwe ntchito ndi madalaivala a OpenGL, Vulkan ndi OpenCL popanda kugwiritsa ntchito makina opangira shader.
- Lingaliro la ma profiles ogwirizana linaperekedwa. Google inali yoyamba kukonza ma profiles oyambira pa nsanjayi. Android, zomwe zipangitsa kuti chipangizochi chikhale chosavuta kudziwa kuchuluka kwa chithandizo cha Vulkan chomwe chilipo pa zinthu zapamwamba zomwe sizikugwirizana ndi Vulkan 1.0. Pazida zambiri, chithandizo cha mbiri chidzachitika popanda kuyika zosintha za OTA.
Tiyeni tikumbukire kuti Vulkan API ndiyodziwikiratu chifukwa cha kuphweka kwake kwa madalaivala, kusamutsidwa kwa maulamuliro a GPU kumbali yogwiritsira ntchito, kutha kugwirizanitsa zigawo zowonongeka, kugwirizanitsa API pamapulatifomu osiyanasiyana komanso kugwiritsa ntchito makina opangidwa kale. chiwonetsero chapakati cha code kuti aphedwe mbali ya GPU. Kuwonetsetsa kuti zikuyenda bwino komanso zodziwikiratu, Vulkan imapereka mapulogalamu omwe ali ndi chiwongolero chachindunji pa magwiridwe antchito a GPU komanso kuthandizira kwawoko kwa ma GPU angapo, omwe amachepetsa madalaivala ndikupangitsa kuthekera kwa oyendetsa kukhala kosavuta komanso kodziwikiratu. Mwachitsanzo, ntchito monga kukumbukira kukumbukira ndi kusamalira zolakwika, zomwe zakhazikitsidwa mu OpenGL kumbali ya oyendetsa, zimasunthidwa kupita ku Vulkan.
Vulkan imadutsa nsanja zonse zomwe zilipo ndipo imapereka API imodzi ya desktop, mobile, ndi web, zomwe zimathandiza API imodzi yodziwika bwino m'ma GPU osiyanasiyana ndi madera ogwiritsira ntchito. Kapangidwe ka Vulkan ka multi-layered, komwe kumalola kupanga zida zomwe zimagwira ntchito ndi GPU iliyonse, kumalola opanga zida kugwiritsa ntchito zida zodziwika bwino kuti ayang'anenso ma code, kukonza zolakwika, ndi kupanga mbiri panthawi yopanga. Pakupanga shader, pali njira yatsopano yonyamulika pakati (IR) yotchedwa SPIR-V, yochokera pa LLVM ndikugawana ukadaulo waukulu ndi OpenCL. Pa kasamalidwe ka chipangizo ndi chiwonetsero, Vulkan imapereka mawonekedwe a Window System Integration (WSI), omwe amachita ntchito zofanana ndi EGL mu OpenGL ES. Thandizo la WSI likupezeka kuchokera ku Wayland—mapulogalamu onse ozikidwa pa Vulkan amatha kugwira ntchito pamalo osasinthidwa. maseva Wayland. Kuthekera kogwira ntchito kudzera mu WSI kumaperekedwanso kwa Android, X11 (yokhala ndi DRI3), Windows, Tizen, macOS ndi iOS.
Source: opennet.ru
