IMozilla igqibe ekubeni ivumele inkxaso yeWebGPU API kunye neWGSL (WebGPU Shading Language) kwiFirefox. Kwiqonga Windows Inkxaso yeWebGPU iya kuvunyelwa ngokuzenzekelayo kwiFirefox 141, ecwangciselwe umhla wama-22 kuJulayi. Inkxaso yeWebGPU icwangciselwe ukuba ivunyelwe kwizakhiwo kwiinyanga ezilandelayo: Linux и macOS, kwaye emva kwexesha elithile kwinguqulelo yeqonga AndroidUkuze uvule iWebGPU ngesandla, ungasebenzisa iiparameter ze-"dom.webgpu.enabled" kunye ne-"gfx.webrender.all" kwiphepha le-about:config.
Kwi-Chrome, inkxaso yeWebGPU yanikezelwa ngokungagqibekanga kwinguqulo ye-113, ekhutshwe ngoMeyi 2023. Kwi-Safari, inkxaso ye-WebGPU icwangciswe ukuba inikwe amandla ngokungagqibekanga oku kuwa (inkxaso yovavanyo sele ikhona ukususela ngoNovemba 2021). KwiFirefox, inkxaso yovavanyo yeWebGPU ikhona ukusukela ngo-2020, kodwa yenziwa kuphela ngokungagqibekanga kulwakhiwo lwasebusuku lweFirefox. Ukuphunyezwa kweWebGPU yeFirefox kusekwe kwikhowudi yeprojekthi yeWGPU, ebhalwe ngeRust kwaye ekwaziyo ukusebenza ngaphezulu kweDirect3D 12, Vulkan, OpenGL, kunye neeAPI zemizobo yeMetal.
I-WebGPU inikezela nge-API efanayo kwiVulkan, iMetal, kunye ne-Direct3D 12 yokwenza imisebenzi kwicala le-GPU. Ukongeza kwimizobo ye-3D, iWebGPU ikwagubungela amandla anxulumene nokukhuphela izibalo kwicala le-GPU kunye nokwenza izithunzi. Ngokwengqikelelo, iWebGPU yohlukile kwinkcazelo yeWebGL endala ngendlela efanayo neVulkan yemizobo yeAPI yohluke kwi-OpenGL. Kwangaxeshanye, iWebGPU ayisekelwanga kwi-API yegraphics ethile, kodwa ngumaleko wendalo yonke osebenzisa i-primitives efanayo ephantsi ekhoyo kwiVulkan, Metal, kunye neDirect3D.
IWebGPU yenza usetyenziso lweJavaScript ukuba lulawule umbutho, ukusetyenzwa, kunye nokuhanjiswa kwemiyalelo kwiGPU, nokulawula izixhobo ezinxulumeneyo, inkumbulo, izithinteli, izinto zokuthungwa, kunye nemizobo edityanisiweyo yeeshadi. Le ndlela ivumela ukusebenza okuphezulu kwezicelo zemizobo ngokunciphisa ngaphezulu kunye nokwandisa ukusebenza kakuhle kunye neGPU.
NgeWebGPU, unokwenza iiprojekthi ze-platform-agnostic, eziyinkimbinkimbi ze-3D ezenza kunye neenkqubo ezizimeleyo ezisebenzisa ngqo iVulkan, iMetal, okanye iDirect3D. I-WebGPU ikwabonelela ngezakhono ezongezelelweyo zokuhambisa iinkqubo zemizobo yendalo kwifom enokuthi isebenze kwiziphequluli, ngenxa yokuhlanganiswa kweWebAssembly.
Iimpawu eziphambili zeWebGPU kunye nomahluko kwiWebGL:
- Ulawulo olwahlukileyo lwezibonelelo, umsebenzi wokulungiselela kunye nokuhanjiswa kwemiyalelo kwi-GPU (kwiWebGL enye into yayinoxanduva kuyo yonke into kanye kanye). Imixholo emithathu eyahlukileyo inikwe: I-GPUDevice yokudala izixhobo ezifana nokuthungwa kunye ne-buffers; IGPUCommandEncoder yokufaka iikhowudi kwimiyalelo yomntu ngamnye, kuquka unikezelo kunye nezigaba zokubala; IGPUCommandBuffer iza kufolelwa ukuphunyezwa kwiGPU. Isiphumo sinokunikezelwa kwindawo ehambelana nenye okanye ngaphezulu kwezinto zeseyile, okanye zisetyenzwe ngaphandle kwemveliso (umzekelo, xa uqhuba imisebenzi yekhompyutha). Ukwahlula izigaba kwenza kube lula ukwahlula ukudalwa kwezixhobo zokusebenza kunye nemisebenzi yokulungiselela kubaphangi abahlukeneyo abanokuqhuba kwimisonto eyahlukeneyo.
- Indlela eyahlukileyo yokuqhuba amazwe. I-WebGPU inikezela ngezinto ezimbini - i-GPURenderPipeline kunye ne-GPUComputePipeline, ekuvumela ukuba udibanise amazwe ahlukeneyo achazwe ngaphambili ngumthuthukisi, ovumela ukuba isiphequluli singachithi izibonelelo kumsebenzi owongezelelweyo, njengokubuyisela i-shaders. Amazwe axhaswayo aquka: iishaders, i-vertex buffer kunye nokwakheka kweempawu, iiplani zeqela ezincangathi, ukudibanisa, ubunzulu kunye neepateni, kunye neefomathi zemveliso ye-post-render.
- Imodeli ebophelelayo efana neempawu zeqela lezixhobo zeVulkan. Ukudibanisa izixhobo kunye, i-WebGPU ibonelela ngento ye-GPUBindGroup, enokuthi idibaniswe nezinye izinto ezifanayo zokusetyenziswa kwi-shaders ngelixa ubhala imiyalelo. Ukudala amaqela anjalo kuvumela umqhubi ukuba enze izenzo eziyimfuneko zokulungiselela kwangaphambili, kwaye ivumela isikhangeli ukuba sitshintshe izibophelelo zemithombo phakathi kweefowuni zokutsalwa ngokukhawuleza. Uyilo lwezibophelelo zemithombo lunokuchazwa kwangaphambili kusetyenziswa into yeGPUBindGroupLayout.
umthombo: opennet.ru
