Mozilla waxay go'aansatay inay awood u siiso taageerada WebGPU API iyo WGSL (Luqadda Shading-ka WebGPU) ee Firefox. Windows Taageerada WebGPU waxaa si caadi ah loogu hawlgelin doonaa Firefox 141, oo loo qorsheeyay Luulyo 22. Taageerada WebGPU waxaa markaa la qorsheynayaa in lagu hawlgeliyo dhismayaasha bilaha soo socda: Linux и macOS, iyo ka dib muddo ka dib nooca loogu talagalay madal AndroidSi aad gacanta ugu hawlgeliso WebGPU, waxaad isticmaali kartaa xuduudaha "dom.webgpu.enabled" iyo "gfx.webrender.all" ee bogga about:config.
Gudaha Chrome, taageerada WebGPU waxaa lagu bixiyay si caadi ah nooca 113, oo la sii daayay Maajo 2023. Safari, taageerada WebGPU waxaa la qorsheeyay in si caadi ah loo furo dayrtan (taageerada tijaabada ayaa la heli jiray ilaa Noofambar 2021). Firefox gudaheeda, taageerada tijaabada ah ee WebGPU waxay jirtay ilaa 2020, laakiin waxa kaliya oo si toos ah u suurtageliyay dhismooyinka habeenkii ee Firefox. Hirgelinta WebGPU Firefox waxay ku salaysan tahay xeerka mashruuca WGPU, oo ku qoran Rust oo awood u leh inuu ku shaqeeyo dusha sare ee Direct3D 12, Vulkan, OpenGL, iyo Biraha garaafyada APIs.
WebGPU waxay siisaa API la mid ah Vulkan, Birta, iyo Direct3D 12 si loogu fuliyo hawlgallada dhinaca GPU. Marka laga soo tago garaafyada 3D, WebGPU waxa kale oo ay dabooshaa awoodaha la xidhiidha u-dejinta xisaabaadka dhinaca GPU iyo fulinta hadhka. Fikrad ahaan, WebGPU waxay kaga duwan tahay qeexitaankii hore ee WebGL si la mid ah sida Vulkan garaafyada API uga duwan yahay OpenGL. Isla mar ahaantaana, WebGPU kuma salaysna API garaafyo gaar ah, laakiin waa lakab caalami ah oo isticmaala isla heerar hoose oo asal ah kuwaas oo laga heli karo Vulkan, Metal, iyo Direct3D.
WebGPU waxa ay awood u siisaa codsiyada JavaScript si ay u xakamayso abaabulka, habaynta, iyo gudbinta amarada GPU-ga, oo ay maamusho agabka la xidhiidha, xusuusta, kaydinta, walxaha lafaha, iyo hadhka garaafyada la soo ururiyey. Habkani waxa uu awood u siinayaa waxqabadka sare ee codsiyada garaafyada iyada oo la dhimayo kharashka dheeraadka ah iyo kordhinta waxtarka la shaqeynta GPU-ga.
WebGPU, waxaad abuuri kartaa madal-agnostic, mashruucyo 3D adag oo fuliya iyo sidoo kale barnaamijyo taagan oo si toos ah u isticmaala Vulkan, Birta, ama Direct3D. WebGPU waxa kale oo ay bixisaa awoodo dheeraad ah oo loogu gudbinayo barnaamijyada garaafyada asalka ah qaab ka shaqayn kara daalacashada, iyada oo ay ugu wacan tahay ururinta WebAssembly.
Tilmaamaha muhiimka ah ee WebGPU iyo kala duwanaanshaha WebGL:
- Maareynta kala duwan ee ilaha, shaqada diyaarinta iyo gudbinta amarada GPU-da (WebGL, hal shay ayaa mas'uul ka ahaa wax walba hal mar). Saddex arrimood oo kala duwan ayaa la bixiyaa: Qalabka GPU ee abuurista agabka sida textures iyo baffers; GPUCommandEncoder si loo codeeyo amarada gaarka ah, oo ay ku jiraan samaynta iyo heerarka xisaabinta; GPUCommandBuffer si loogu gudbo safka orodka GPU. Natiijadu waxay noqon kartaa meel la xidhiidha hal ama in ka badan canvas, ama la samayn karaa iyada oo aan la soo saarin (tusaale ahaan, marka la wado hawlaha xisaabinta). Kala-saarista heerarku waxay sahlaysaa in la kala saaro kheyraadka abuurista iyo bixinta hawlgallada loo kala saaro maamulayaal kala duwan oo ku socon kara dunta kala duwan.
- Hab ka duwan wax ka qabashada dawladaha. WebGPU waxay bixisaa laba walxood - GPURenderPipeline iyo GPUComputePipeline, kuwaas oo kuu oggolaanaya inaad isku geyso gobollo kala duwan oo uu horay u qeexay horumariyaha, taas oo suurtogal ka dhigaysa in browserku uusan ku lumin kheyraadka shaqo dheeraad ah, sida dib u habeynta shaders. Dawladaha la taageero waxaa ka mid ah: hadhka, duleelka dhabarka iyo qaabaynta sifada, qaabaynta kooxeed dhegdheg, isku darka, qoto dheer iyo qaababka, qaababka wax soo saarka kadib.
- Qaab isku xidhan, oo la mid ah agabka kooxaynta khayraadka Vulkan. Si loo kooxeeyo agabka kooxo, WebGPU waxay bixisaa shay GPUBindGroup, kaas oo, wakhtiga qorista amarrada, lala xidhiidhin karo walxaha kale ee la midka ah ee loo isticmaalo hadhka. Abuuritaanka kooxaha noocan oo kale ah waxay u ogolaataa darawalka inuu horay u sameeyo ficilada diyaarinta ee lagama maarmaanka ah, waxayna u ogolaataa browserka inuu bedelo isku xirka kheyraadka ee u dhexeeya wicitaanada soo jiidashada si dhakhso ah. Nashqada isku xidhka ilaha waxa lagu sii qeexi karaa iyadoo la isticmaalayo shayga GPUBindGroupLayout.
Source: opennet.ru
