موزيلا فائر فاڪس ۾ WebGPU API ۽ WGSL (WebGPU شيڊنگ ٻولي) لاءِ سپورٽ کي فعال ڪرڻ جو فيصلو ڪيو آهي. پليٽ فارم لاءِ Windows ويب جي پي يو سپورٽ ڊفالٽ طور تي فائر فاڪس 141 ۾ فعال ڪئي ويندي، جيڪا 22 جولاءِ تي شيڊول ڪئي وئي آهي. پوءِ ايندڙ مهينن لاءِ بلڊز ۾ ويب جي پي يو سپورٽ کي فعال ڪرڻ جو منصوبو آهي: Linux и macOS, а через некоторое время и в версии для платформы Android. Для ручного включения WebGPU можно использовать параметры «dom.webgpu.enabled» и «gfx.webrender.all» на странице about:config.
ڪروم ۾، WebGPU سپورٽ مئي 113 ۾ جاري ڪيل ورزن 2023 ۾ ڊفالٽ طور تي پيش ڪئي وئي هئي. سفاري ۾، WebGPU سپورٽ کي هن خزان ۾ ڊفالٽ طور تي فعال ڪرڻ جو منصوبو آهي (تجرباتي سپورٽ نومبر 2021 کان موجود آهي). فائر فاڪس ۾، تجرباتي WebGPU سپورٽ 2020 کان موجود آهي، پر صرف فائر فاڪس جي رات جي تعمير ۾ ڊفالٽ طور تي فعال ڪيو ويو. فائر فاڪس جو WebGPU عملدرآمد WGPU پروجيڪٽ ڪوڊ تي ٻڌل آهي، جيڪو رسٽ ۾ لکيل آهي ۽ Direct3D 12، Vulkan، OpenGL، ۽ Metal گرافڪس APIs جي مٿان هلائڻ جي قابل آهي.
WebGPU GPU پاسي تي آپريشن ڪرڻ لاءِ Vulkan، Metal، ۽ Direct3D 12 وانگر هڪجهڙائي API فراهم ڪري ٿو. 3D گرافڪس کان علاوه، WebGPU GPU پاسي تي حسابن کي آف لوڊ ڪرڻ ۽ شيڊرز کي هلائڻ سان لاڳاپيل صلاحيتن کي پڻ ڍڪيندو آهي. تصوراتي طور تي، WebGPU پراڻي WebGL وضاحتن کان بلڪل مختلف آهي جيئن Vulkan گرافڪس API OpenGL کان مختلف آهي. ساڳئي وقت، WebGPU هڪ مخصوص گرافڪس API تي ٻڌل ناهي، پر هڪ عالمگير پرت آهي جيڪا ساڳي گهٽ-سطح جي پرائمري استعمال ڪري ٿي جيڪي Vulkan، Metal، ۽ Direct3D ۾ موجود آهن.
WebGPU جاوا اسڪرپٽ ايپليڪيشنن کي GPU ڏانهن حڪمن جي تنظيم، پروسيسنگ، ۽ ٽرانسميشن کي ڪنٽرول ڪرڻ، ۽ لاڳاپيل وسيلن، ياداشت، بفرز، ٽيڪسچر آبجيڪٽس، ۽ مرتب ڪيل گرافڪس شيڊرز کي منظم ڪرڻ جي قابل بڻائي ٿو. هي طريقو اوور هيڊ کي گهٽائڻ ۽ GPU سان ڪم ڪرڻ جي ڪارڪردگي کي وڌائيندي گرافڪس ايپليڪيشنن جي اعليٰ ڪارڪردگي کي قابل بڻائي ٿو.
WebGPU سان، توهان پليٽ فارم-اگنوسٽڪ، پيچيده 3D پروجيڪٽ ٺاهي سگهو ٿا جيڪي گڏوگڏ اسٽينڊ اڪيلو پروگرام پڻ انجام ڏين ٿا جيڪي سڌو سنئون وولڪن، ميٽل، يا ڊائريڪٽ 3D استعمال ڪن ٿا. WebGPU مقامي گرافڪس پروگرامن کي هڪ فارم ۾ پورٽ ڪرڻ لاءِ اضافي صلاحيتون پڻ فراهم ڪري ٿو جيڪو برائوزرن ۾ هلائي سگهجي ٿو، WebAssembly جي ڪمپليشن جي مهرباني.
WebGPU جون اهم خاصيتون ۽ WebGL کان فرق:
- وسيلن جو الڳ انتظام، تياري وارو ڪم ۽ GPU ڏانهن حڪمن جي منتقلي (WebGL ۾ هڪ اعتراض هڪ ڀيرو هر شيء لاء ذميوار هو). ٽي الڳ حوالا مهيا ڪيا ويا آهن: GPU ڊيوائس وسيلن ٺاهڻ لاءِ جيئن ته بناوت ۽ بفر؛ GPUCommandEncoder انفرادي حڪمن کي انڪوڊنگ ڪرڻ لاءِ، بشمول رينڊرنگ ۽ حسابي مرحلن؛ GPUCommandBuffer کي GPU تي عمل ڪرڻ لاءِ قطار ۾ رکيو وڃي. نتيجو هڪ يا وڌيڪ ڪينوس عناصر سان لاڳاپيل علائقي ۾ پيش ڪري سگهجي ٿو، يا بغير بغير پروسيس ڪيو ويو (مثال طور، جڏهن ڪمپيوٽ ڪمن کي هلائڻ). مرحلن کي الڳ ڪرڻ آسان بڻائي ٿو وسيلن جي ٺاھڻ ۽ تياري جي عملن کي مختلف ھٿيارن ۾ الڳ ڪرڻ جيڪي مختلف موضوعن تي هلائي سگھن ٿا.
- پروسيسنگ رياستن لاء هڪ مختلف طريقو. WebGPU ٻه شيون پيش ڪري ٿو - GPURenderPipeline ۽ GPUComputePipeline، جيڪي توهان کي ڊولپر پاران اڳ بيان ڪيل مختلف رياستن کي گڏ ڪرڻ جي اجازت ڏين ٿيون، جيڪا برائوزر کي اجازت ڏئي ٿي ته اضافي ڪم تي وسيلن کي ضايع نه ڪري، جهڙوڪ شيڊر کي ٻيهر ترتيب ڏيڻ. سپورٽ ٿيل رياستن ۾ شامل آهن: شيڊرز، ورٽيڪس بفر ۽ انتساب لي آئوٽ، اسٽڪي گروپ لي آئوٽ، بلڊنگ، گہرا ۽ نمونا، ۽ پوسٽ رينڈر آئوٽ پٽ فارميٽ.
- هڪ پابند ماڊل گهڻو ڪري Vulkan جي وسيلن جي گروپن جي خاصيتن وانگر. وسيلن کي گڏ ڪرڻ لاءِ، WebGPU هڪ GPUBindGroup اعتراض مهيا ڪري ٿو، جيڪو ڪمانڊ لکڻ دوران شيڊرز ۾ استعمال لاءِ ٻين ساڳين شين سان لاڳاپيل ٿي سگهي ٿو. اهڙن گروپن کي ٺاهڻ ڊرائيور کي ضروري تياري واري عمل کي اڳ ۾ ئي انجام ڏيڻ جي اجازت ڏئي ٿو، ۽ برائوزر کي اجازت ڏئي ٿو ته ريسورس بائنڊنگ کي ڊرائنگ ڪالن جي وچ ۾ تمام تيزيءَ سان تبديل ڪري. وسيلن جي پابندن جي ترتيب کي GPUBindGroupLayout اعتراض استعمال ڪندي اڳواٽ بيان ڪري سگھجي ٿو.
جو ذريعو: opennet.ru
