Yaziswa uvavanyo olutsha Umqhubi weVulkan Ape β ukuphunyezwa kwesoftware yomthombo ovulekileyo yeVulkan ICD, ebhalwe phantse yonke kwi Zig kwaye ayisebenzisi ikhowudi yeMesa. Le projekthi ayikathi ifanelekile ukusetyenziswa kwimizi-mveliso: umbhali uyichaza ngokucacileyo njengelinge lemfundo "lokwakha umqhubi ngesandla" kwaye ulumkisa ngokusebenzisa i-Ape kwiiprojekthi ezinzulu. Le khowudi ipapashwe phantsi kwelayisenisi mit.
Umdla kwi-Ape wavela emva kokuba kwinkcazo Kongezwe i-ID yomthengisi eyahlukileyo yeVulkan Ape kunye ne-ID yomqhubi ye I-ApeSoftIsicelo sokutsala esihambelanayo kwindawo yokugcina izinto yeKhronosGroup/Vulkan-Docs sidityanisiwe. 6 Juni 2026 iminyakaKwingxelo, umbhali ubonise ukuba wayesebenza kumqhubi weVulkan othanda izinto azithandayo kwaye wayesele eza kupasa zonke iimvavanyo zeVulkan 1.0.
Enyanisweni, i-Ape ayingomqhubi wekhadi levidiyo elithile, kodwa Umboniso wesoftware yeVulkan, efana nenjongo nekaMesa Lavapipe: Imiyalelo yeVulkan yenziwa ngokusebenza kwayo, ngaphandle kokufikelela kwi-hardware GPU driver. Nangona kunjalo, iLavapipe ayisekelwanga kwiMesa kwaye ibhalwe njenge-codebase ezimeleyo kwiZig.
Oko i-Ape esele ikwazi ukukwenza
-
Isebenza njengeVulkan ICD.
Inkawu yenzelwe ukuba Umqhubi weKlayenti onokufakeka β oko kukuthi, njengomqhubi onokuthathwa yi-Vulkan loader eqhelekileyo nge-ICD manifest. Emva kokwakha, umbhali ucebisa ukuba kukhonjwe i-Vulkan loader kwifayile ye-manifest ehambelanayo. Oku kwenza le projekthi ingabi yingqokelela yezilingo nje kuphela, kodwa ibe kukuphunyezwa kokwenyani komqhubi weVulkan, nangona iluqeqesho. I-Vulkan loader yenzelwe ngokukodwa ukufumanisa nokuvumela abaqhubi abaninzi be-ICD kwinkqubo. -
Ibhalwe ngokupheleleyo ngeZig.
Isiseko sekhowudi ephambili ye-Ape sibhalwe nge-Zig; ulwimi ludweliswe kwiphepha eliphambili leprojekthi i-Forge njenge I-Zig 99,9%I-Phoronix igxininisa ukuba le projekthi ayixhomekekanga kwiMesa kwaye isetyenziswa kwiZig, hayi kwiC/C++. Ii-Graphics drivers zibhalwa ngokwesiko kwiC/C++, kodwa i-Ape ibonisa ukuba i-Vulkan ICD inokusetyenziswa kulwimi lwenkqubo yanamhlanje. -
Kukho ukuphunyezwa kwesoftware yi-ApeSoft.
Le projekthi igxininisa ukuphunyezwa kwesoftware ezithambileyo, ekwi-driver codebase ngokwayo. Isebenzisa eyayo Itoliki ye-SPIR-V kunye ne-renderer yayo. I-Ape ayizamkeli nje iifowuni zeVulkan, kodwa endaweni yoko izama ukusebenzisa i-shaders kunye ne-rendering kwi-CPU yayo. -
Ukwakha ngeZig build kuyaxhaswa.
Ukuze kuphunyezwe isoftware, i-README ichaza indlela yokwakha kusetyenziswa umyalelo we-zig build soft. Emva koko, kufuneka ulungiselele i-Vulkan loader kwi-ICD manifest. Okwangoku, esi sisixhobo esicacileyo sabaphuhlisi kunye nabathandi, asiyophakheji "yokufaka nokusebenzisa". -
Inxalenye ebalulekileyo yeVulkan 1.0 isetyenzisiwe.
I-README idwelisa imeko yeempawu zeVulkan 1.0. Iimpawu ezisetyenzisiweyo ziquka ukudalwa kwe-instance kunye nesixhobo, ukwabiwa kwememori, ii-buffers, imifanekiso, ii-command buffers, i-render pass, i-framebuffer, i-graphics pipeline, i-compute pipeline, ii-shader modules, ii-descriptor sets, i-swapchain, kunye nemiyalelo yokubuyisela esisiseko. Ngokuphathelele iimpawu ezisetyenzisiweyo, le projekthi sele idlulele ngaphaya kovavanyo lwe-"hello triangle", kodwa kusafuneka iqinisekiswe kwaye ingasebenzi ukuze ibe ngumqhubi ohambelana ngokupheleleyo. -
Kukho imiyalelo yokuzoba nokubala.
Uluhlu lwemisebenzi ephunyeziweyo luquka i-vkCmdDraw, i-vkCmdDrawIndexed, i-vkCmdDrawIndirect, i-vkCmdDrawIndexedIndirect, i-vkCmdDispatch, kunye ne-vkCmdDispatchIndirect. I-Ape ayigubungeli nje kuphela isiseko seVulkan esingundoqo kodwa ikwagubungela neemeko ezimbini eziphambili ze-API: ukwenziwa kwemizobo kunye nemibhobho yokubala. -
Ukurhoxiswa kweSwapchain kunye neWayland kuyaxhaswa.
Imeko yokusetyenziswa ibandakanya i-vkCreateSwapchainKHR, i-vkQueuePresentKHR, i-vkCreateWaylandSurfaceKHR, kunye nokujonga inkxaso yentetho yeWayland. Ubukho be-swapchain kunye nomphezulu weWayland kuthetha ukuba umqhubi wenzelwe kungekuphela nje uvavanyo olungaxhunyiwe kwi-intanethi kodwa kunye nokubonisa imifanekiso kwindawo yokwenyani yefestile. Linux. -
Inxalenye ye-WSI ye-X11 kunye Windows isaqhubeka.
i-vkCreateXcbSurfaceKHR, i-vkCreateXlibSurfaceKHR, i-vkCreateWin32SurfaceKHR, kunye nemisebenzi yokujonga inkxaso yentetho ehambelanayo iphawulwe njenge-WIP. I-Wayland sele ikhona, kwaye i-X11/Windows- inkxaso ayikakulungeli. -
Ezinye izinto zeVulkan 1.0 azikakulungeli okanye azikaxhaswa okwangoku.
Isimo se-WIP siquka, umzekelo, i-vkCreatePipelineCache, i-vkCreateSemaphore, i-vkGetQueryPoolResults, i-vkMergePipelineCaches, ezinye iimeko eziguquguqukayo, kunye nemiyalelo yesitampu sexesha. Imisebenzi ye-Sparse efana ne-vkQueueBindSparse kunye ne-vkGetImageSparseMemoryRequirements iphawulwe njengengaxhaswayo. I-Ape ikufutshane ne-Vulkan 1.0 ekugutyungelweni, kodwa ayikatshintshi indawo ye-Vulkan driver eqhelekileyo. -
Kongezwe uphuculo olutsha lokwenziwa kwemisebenzi kunye nokuvumelanisa.
Imbali yale projekthi ukususela nge-5 ukuya kwi-6 kaJuni yayiquka utshintsho olufana nokongezwa kwe-primitive restart, i-integer texture sampling, ulawulo lwe-mip/lod sampling, kunye nokusetyenziswa kwe-binary semaphores. Le projekthi iphuhlisa ngokukodwa ukuhambelana okusebenzayo ne-Vulkan benchmarks kunye ne-real-world graphics scenarios. -
Le projekthi ayijolisanga ekuveliseni imveliso.
Umbhali ucacisa ukuba i-Ape yenzelwe ukuhlola iVulkan kwaye ayijongi ukuba ngumqhubi olungele ukusebenza okanye olungele imveliso. I-Ape kufuneka ibonwe njengeprojekthi yophando, ukuphunyezwa kokufunda kweVulkan, kunye novavanyo lweZig, kungekhona njengomncintisani neMesa RADV, ANV, NVK, okanye iLavapipe.
Ekugqibeleni, i-Ape inomdla kungengenxa yokuba inokufakelwa ngomso endaweni ye-Mesa, kodwa ngenxa yokuba yindlela yokuzimela ye-Vulkan ICD kwi-Zig, enetoliki yayo ye-SPIR-V, isoftware renderer, kunye neVulkan 1.0 esele ibalulekile. Nangona ingasetyenziswa kangako kubasebenzisi abaqhelekileyo, kubaphuhlisi babaqhubi, ababhali bexesha lokusebenza, kunye nabo bafunda izinto zangaphakathi zeVulkan, le projekthi imele indawo yovavanyo enomdla nephilayo.
umthombo: linux.org.ru
