Ku-graphic landscape ye-API, Izilimi zokuthungatha zibhekane nomkhawulo, ngoba naphezu kokuthi kungenzeka ukubhala ikhodi kusethi encane evamile phakathi kwe-GLSL, i-HLSL ne-C++, imikhawulo yamanje ikhona.
Yingakho kwazalwa uVcc (I-Vulkan Clang Compiler) i-Vulkan Clang compiler, okuyiphrojekthi eyayithuthukiswa iminyaka emi-3, kuvela njengempendulo kule mikhawulo nezinselele. Le phrojekthi ayifuni kuphela ukunqoba imingcele ecacile, kodwa ukuqeda wona kanye umqondo wezilimi ze-shading.
Ngokuhlanganisa umndeni ophelele wolimi C / C ++ kuVulkan, I-Vcc yethula izici ezingakaze zibonwe kuma-Vulkan shader, njengezikhombisi ezibonakalayo, izinkomba ezijwayelekile, izingcingo zokusebenza kwangempela kanye nokugeleza kokulawula okuphelele.
Lesi sinyathelo ifuna ukuvala igebe lesofthiwe phakathi kwezithombe nokubala ama-API. Ngokwenza i-Vulkan ihambisane namanye ama-API wekhompyutha we-GPU, i-Vcc yethulwa njengesinyathelo esibalulekile ekuhlanganiseni izinhlelo kuhluzo nekhompyutha, iqondaniswe nokutholwa okukhulu kanye nekhwalithi yokuqaliswa eyaziwa ngayo i-Vulkan.
Mayelana ne-VCC
I-Vcc iyinhlanganisela esekwe ku-Clang eklanyelwe ukukhiqiza ikhodi esebenzisekayo ku-Vulkan, inhloso yayo uku zibeke njengeqoqo elikwazi ukuhumusha ikhodi ye-C++ emethulweni engasebenza ku-GPU ezisekela i-Vulkan graphics API. Ngokungafani namamodeli wohlelo we-GPU asekelwe ku-GLSL nezilimi ze-HLSL shader, i-Vcc ithatha umqondo wokuqeda ngokuphelele ukusetshenziswa kwezilimi ze-shader ezihlukene futhi inikeza ikhono lokuhlanganisa ngokuqondile ikhodi ye-C/C++ ye-Vulkan.
Noma kunjalo angathathwa njengoqhudelana ne-GLSL kanye ne-HLSL, Inhloso yeqiniso ngale phrojekthi iqhubekela phambili, kusukela I-Vcc ifuna ukuhlanganisa umndeni wolimi lwe-C/C++ ku-Vulkan, sethula inani lezici kuma-Vulkan shader.
I-Vcc imane iyisixhumi esibonakalayo se-Shady, i-IR, kanye ne-compiler eklanyelwe ukunweba i-SPIR-V ngokusekelwa kwezakhiwo ezishiwo ngenhla. I-Shady yethulwa njenge-IR evamile futhi ihlanganisa ukusekelwa kokuhlukanisa i-LLVM IR. Iphatha ukuncishiswa nokulingiswa kwazo zonke izici ezengeziwe ezingatholakali kuzinguqulo zamanje ze-SPIR-V 3.
Yiqiniso, kunenombolo yezici eziyingqayizivele ezitholakala kuphela kuma-shader. Lezi zivezwa ku-Vcc kusetshenziswa i-intrinsics nezichasiselo, okukuvumela ukuthi ubhale ikhodi esebenzisana nezici ezahlukahlukene zesiteshi se-Vulkan.
Inqubo yokuhlanganisa ku-Vcc ibandakanya ukusetshenziswa kwezingxenye zephrojekthi ye-LLVM ne-Clang njengesixhumi esibonakalayo. Ngokusetshenziswa ku-GPU, Vcc ithuthukisa isethulo sayo se-shader esiphakathi "Shady", kanye nomdidiyeli ozinikele wokuguqula ikhodi ibe yilesi sethulo. Le ndlela ivumela ukuhlanganiswa kwekhodi evamile ye-C/C++ futhi ihambisana nemisebenzi ethile eyakhelwe ngaphakathi ukuze kuzuze amakhono e-GPU.
I-VDC igqame ngokusekela imisebenzi yomdabu ye-C/C++ ukuze ulawule ukugeleza kohlelo, ngisho nokuvumela ukusetshenziswa komyalelo we-"goto". Ukwengeza, inikeza ikhono lokubiza imisebenzi, ukwenza imisebenzi ngokuphindaphindiwe, nokusebenzisa izinhlobo ezihlukahlukene zezinkomba, njengezikhombi ezibonakalayo, izinkomba ezimakiwe, nezinkomba zokusebenza. Ukwengeza, kwenza kube lula ukwenza imisebenzi ye-arithmetic ezikhombi futhi inqume uhlobo lwezakhiwo kumemori.
Isethulo esimaphakathi se-Shady shader sisekelwe ku-SPIR-V 3 futhi sinwetshiwe ukuze sisekele ukwakhiwa okukhethekile okuhambisana nezici ze-C/C++. Ukulingisa kusetshenziselwa ukusebenzisa amakhono athuthukile angasebenzi ngokuqondile ku-SPIR-V. I-Vcc ihlanganisa imisebenzi eyakhelwe ngaphakathi kanye nezichasiselo ukuvumela izinhlelo ukuthi zisebenzise ngempumelelo amakhono athile ama-shader, ngaleyo ndlela inikeze indawo eguquguqukayo nenamandla yokuthuthukisa izinhlelo zokusebenza ze-GPU.
Okokugcina, kufanelekile ukusho ukuthi akuyona yonke into enhle futhiKubalulekile ukucabangela ukulinganiselwa okuthile kokuqaliswa. Isibonelo, i-Vcc ayisekeli okuhlukile kwe-C++, futhi ukusebenza kwe-malloc/kwamahhala akutholakali. Ukwengeza, kunomkhawulo ekuphatheni kwemisebenzi nezikhombi phakathi kwesistimu yokusingatha kanye ne-GPU. Lokhu kucatshangelwa kubalulekile lapho uhlela ukuthuthukiswa kwezinhlelo zokusebenza ezisebenzisa i-Vcc ukuze kuqinisekiswe ukuthunyelwa okuphumelelayo nokungenazinkinga.
Uma unjalo unentshisekelo yokwazi okwengeziwe ngayo, ungabonisana ne iwebhusayithi futhi kulabo abathanda ikhodi, kufanele wazi ukuthi iyatholakala lapha