বছরের পর বছর ধরে উন্নয়নের পর, Chrome টিম ঘোষণা করেছে যে WebGPU-এর প্রথম সংস্করণটি এখন ChromeOS, macOS এবং Windows-এ ডিফল্টরূপে Chrome-এ উপলব্ধ। আরও জানতে Chrome WebGPU-তে কী কী পরিষেবা প্রদান করে তা দেখুন।
আমরা MDN-তে WebGPU-এর জন্য ব্যাপক ডকুমেন্টেশন যোগ করা শুরু করেছি।
এবং আরও অনেক কিছু আছে।
importExternalTexture()
এ WebCodecs VideoFrame
সোর্স ব্যবহার করুন
WebGPU HTMLVideoElement
থেকে importExternalTexture()
এর মাধ্যমে অস্বচ্ছ "বহিরাগত টেক্সচার" অবজেক্ট তৈরি করার জন্য একটি API প্রকাশ করে। আপনি এই অবজেক্টগুলি ব্যবহার করে ভিডিও ফ্রেমগুলি দক্ষতার সাথে নমুনা করতে পারেন, সম্ভাব্যভাবে সরাসরি উৎস YUV ডেটা থেকে 0-কপি উপায়ে।
তবে, প্রাথমিক WebGPU স্পেসিফিকেশন WebCodecs VideoFrame
অবজেক্ট থেকে GPUExternalTexture
অবজেক্ট তৈরি করার অনুমতি দেয় না। এই ক্ষমতাটি এমন উন্নত ভিডিও প্রসেসিং অ্যাপগুলির জন্য গুরুত্বপূর্ণ যারা ইতিমধ্যেই WebCodecs ব্যবহার করে এবং ভিডিও প্রসেসিং পাইপলাইনে WebGPU সংহত করতে চায়। বর্তমানে gpuweb/gpuweb#1380 ইস্যুতে আলোচনা চলছে।
বৈশিষ্ট্যটি সক্ষম করুন
ডিফল্টরূপে, এই বৈশিষ্ট্যটি Chrome-এ সক্রিয় থাকে না, তবে এটি স্পষ্টভাবে কার্যকারিতা সক্ষম করে Chrome 113-এ পরীক্ষা করা যেতে পারে। আপনি chrome://flags/#enable-webgpu-developer-features
"WebGPU ডেভেলপার বৈশিষ্ট্য" পতাকা সক্ষম করে স্থানীয়ভাবে এটি সক্রিয় করতে পারেন।
আপনার অ্যাপের সকল দর্শকের জন্য এটি সক্ষম করার জন্য, বর্তমানে একটি অরিজিন ট্রায়াল চলছে এবং Chrome 118 (8 ডিসেম্বর, 2023) এ শেষ হওয়ার জন্য সেট করা হয়েছে। ট্রায়ালে অংশগ্রহণ করতে, সাইন আপ করুন এবং HTML অথবা HTTP হেডারে অরিজিন ট্রায়াল টোকেন সহ একটি মেটা উপাদান অন্তর্ভুক্ত করুন। আরও তথ্যের জন্য, " অরিজিন ট্রায়াল শুরু করুন" পোস্টটি দেখুন।
নমুনা কোড
// Access the GPU device.
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
// Create VideoFrame from HTMLVideoElement.
const video = document.querySelector("video");
const videoFrame = new VideoFrame(video);
const texture = device.importExternalTexture({ source: videoFrame });
// TODO: Use texture in bind group creation.
এটি ব্যবহার করার জন্য ভিডিও আপলোডিং উইথ ওয়েবকোডেক্স পরীক্ষামূলক নমুনাটি দেখুন।
WebGPU-তে নতুন কী আছে
" What's New in WebGPU" সিরিজে যা যা আলোচনা করা হয়েছে তার একটি তালিকা।
ক্রোম ১৪২
ক্রোম ১৪১
- টিন্ট আইআর সম্পন্ন হয়েছে
- WGSL কম্পাইলারে পূর্ণসংখ্যা পরিসর বিশ্লেষণ
- Vulkan ব্যাকএন্ডের জন্য SPIR-V 1.4 আপডেট
- ভোরের আপডেট
ক্রোম ১৪০
- ডিভাইসের অনুরোধগুলি অ্যাডাপ্টার ব্যবহার করে
- টেক্সচার ভিউ ব্যবহার করা হলে টেক্সচার ব্যবহারের সংক্ষিপ্ত বিবরণ
- WGSL টেক্সচারSampleLevel 1D টেক্সচার সমর্থন করে
- bgra8unorm-এর পঠনযোগ্য স্টোরেজ টেক্সচার ব্যবহার বন্ধ করুন
- GPUAdapter isFallbackAdapter অ্যাট্রিবিউটটি সরান
- ভোরের আপডেট
ক্রোম ১৩৯
- BC এবং ASTC সংকুচিত ফর্ম্যাটের জন্য 3D টেক্সচার সমর্থন
- নতুন "মূল-বৈশিষ্ট্য-এবং-সীমা" বৈশিষ্ট্য
- WebGPU সামঞ্জস্য মোডের জন্য অরিজিন ট্রায়াল
- ভোরের আপডেট
ক্রোম ১৩৮
- বাইন্ডিং রিসোর্স হিসেবে বাফার ব্যবহারের সংক্ষিপ্ত বিবরণ
- তৈরির সময় ম্যাপ করা বাফারগুলির জন্য আকারের প্রয়োজনীয়তার পরিবর্তন
- সাম্প্রতিক GPU-এর জন্য স্থাপত্য প্রতিবেদন
- GPUAdapter হল FallbackAdapter অ্যাট্রিবিউটকে অবমূল্যায়ন করুন
- ভোরের আপডেট
ক্রোম ১৩৭
- বাহ্যিক টেক্সচার বাইন্ডিংয়ের জন্য টেক্সচার ভিউ ব্যবহার করুন
- অফসেট এবং আকার নির্দিষ্ট না করেই বাফারগুলি অনুলিপি করে
- WGSL ওয়ার্কগ্রুপ ইউনিফর্মলোড পরমাণুর পয়েন্টার ব্যবহার করে
- GPUAdapterInfo powerPreference অ্যাট্রিবিউট
- GPURequestAdapterOptions compatibilityMode অ্যাট্রিবিউট সরান
- ভোরের আপডেট
ক্রোম ১৩৬
- GPUAdapterInfo হল FallbackAdapter বৈশিষ্ট্য
- D3D12-তে শেডার সংকলন সময়ের উন্নতি
- ক্যানভাস ছবি সংরক্ষণ এবং কপি করুন
- সামঞ্জস্যতা মোড সীমাবদ্ধতা উত্তোলন করুন
- ভোরের আপডেট
ক্রোম ১৩৫
- নাল বাইন্ড গ্রুপ লেআউট সহ পাইপলাইন লেআউট তৈরি করার অনুমতি দিন
- ভিউপোর্টগুলিকে রেন্ডার টার্গেট সীমানা অতিক্রম করতে দিন
- অ্যান্ড্রয়েডে পরীক্ষামূলক সামঞ্জস্যতা মোডে সহজ অ্যাক্সেস
- maxInterStageShaderComponents সীমা সরান
- ভোরের আপডেট
ক্রোম ১৩৪
- উপগোষ্ঠীর সাথে মেশিন-লার্নিং ওয়ার্কলোড উন্নত করুন
- ফ্লোট ফিল্টারেবল টেক্সচার টাইপ সাপোর্টকে ব্লেন্ডেবল হিসেবে সরিয়ে দিন
- ভোরের আপডেট
ক্রোম ১৩৩
- অতিরিক্ত unorm8x4-bgra এবং 1-কম্পোনেন্ট ভার্টেক্স ফর্ম্যাট
- অনির্ধারিত মান সহ অজানা সীমা অনুরোধ করার অনুমতি দিন
- WGSL সারিবদ্ধকরণের নিয়ম পরিবর্তন
- বাতিলের সাথে WGSL কর্মক্ষমতা বৃদ্ধি পায়
- বাহ্যিক টেক্সচারের জন্য ভিডিওফ্রেম ডিসপ্লে সাইজ ব্যবহার করুন
- copyExternalImageToTexture ব্যবহার করে অ-ডিফল্ট ওরিয়েন্টেশন সহ ছবিগুলি পরিচালনা করুন
- ডেভেলপারের অভিজ্ঞতা উন্নত করা হচ্ছে
- featureLevel এর সাথে সামঞ্জস্যতা মোড সক্ষম করুন
- পরীক্ষামূলক উপগোষ্ঠীর বৈশিষ্ট্য পরিষ্কারকরণ
- maxInterStageShaderComponents সীমা অবমূল্যায়ন করুন
- ভোরের আপডেট
ক্রোম ১৩২
- টেক্সচার ভিউ ব্যবহার
- ৩২-বিট ফ্লোট টেক্সচার ব্লেন্ডিং
- GPUDevice অ্যাডাপ্টারইনফো অ্যাট্রিবিউট
- অবৈধ ফর্ম্যাট থ্রো জাভাস্ক্রিপ্ট ত্রুটি সহ ক্যানভাস প্রসঙ্গ কনফিগার করা হচ্ছে
- টেক্সচারের উপর স্যাম্পলার সীমাবদ্ধতা ফিল্টার করা
- বর্ধিত উপগোষ্ঠী পরীক্ষা-নিরীক্ষা
- ডেভেলপারের অভিজ্ঞতা উন্নত করা হচ্ছে
- ১৬-বিট নরমালাইজড টেক্সচার ফর্ম্যাটের জন্য পরীক্ষামূলক সমর্থন
- ভোরের আপডেট
ক্রোম ১৩১
- WGSL-এ দূরত্ব ক্লিপ করুন
- GPUCanvasContext কনফিগারেশন () পান
- বিন্দু এবং রেখার আদিমগুলিতে গভীরতা পক্ষপাত থাকা উচিত নয়
- উপগোষ্ঠীর জন্য অন্তর্ভুক্তিমূলক স্ক্যান বিল্ট-ইন ফাংশন
- মাল্টি-ড্র ইনডাইরেক্টের জন্য পরীক্ষামূলক সহায়তা
- শেডার মডিউল সংকলন বিকল্প কঠোর গণিত
- GPUAdapter requestAdapterInfo() সরান
- ভোরের আপডেট
ক্রোম ১৩০
- ডুয়াল সোর্স ব্লেন্ডিং
- মেটালে শেডার সংকলনের সময়ের উন্নতি
- GPUAdapter requestAdapterInfo() এর অবচয়
- ভোরের আপডেট
ক্রোম ১২৯
ক্রোম ১২৮
- উপগোষ্ঠী নিয়ে পরীক্ষা-নিরীক্ষা
- লাইন এবং বিন্দুর জন্য গভীরতা পক্ষপাত নির্ধারণ বন্ধ করুন
- যদি preventDefault থাকে তাহলে DevTools সতর্কতা না-ক্যাপচার করা ত্রুটি লুকান।
- WGSL ইন্টারপোলেট স্যাম্পলিং প্রথমে এবং উভয়ই
- ভোরের আপডেট
ক্রোম ১২৭
- অ্যান্ড্রয়েডে OpenGL ES এর জন্য পরীক্ষামূলক সমর্থন
- GPUAdapter তথ্য বৈশিষ্ট্য
- ওয়েবঅ্যাসেম্বলি ইন্টারঅপ উন্নতি
- উন্নত কমান্ড এনকোডার ত্রুটি
- ভোরের আপডেট
ক্রোম ১২৬
- maxTextureArrayLayers সীমা বাড়ান
- Vulkan ব্যাকএন্ডের জন্য বাফার আপলোড অপ্টিমাইজেশন
- শেডার সংকলন সময়ের উন্নতি
- জমা দেওয়া কমান্ড বাফারগুলি অবশ্যই অনন্য হতে হবে
- ভোরের আপডেট
ক্রোম ১২৫
ক্রোম ১২৪
- শুধুমাত্র পঠনযোগ্য এবং পঠনযোগ্য স্টোরেজ টেক্সচার
- পরিষেবা কর্মী এবং ভাগ করা কর্মীদের সহায়তা
- নতুন অ্যাডাপ্টারের তথ্য বৈশিষ্ট্য
- বাগ সংশোধন
- ভোরের আপডেট
ক্রোম ১২৩
- WGSL-এ DP4a বিল্ট-ইন ফাংশন সাপোর্ট করে
- WGSL-এ অবাধ পয়েন্টার প্যারামিটার
- WGSL-এ কম্পোজিট ডিরেফারেন্স করার জন্য সিনট্যাক্স চিনি
- স্টেনসিল এবং গভীরতার দিকগুলির জন্য পৃথক পঠনযোগ্য অবস্থা
- ভোরের আপডেট
ক্রোম ১২২
- সামঞ্জস্যতা মোডের মাধ্যমে নাগাল বাড়ান (বিকাশের অধীনে থাকা বৈশিষ্ট্য)
- maxVertexAttributes সীমা বৃদ্ধি করুন
- ভোরের আপডেট
ক্রোম ১২১
- অ্যান্ড্রয়েডে WebGPU সাপোর্ট করুন
- উইন্ডোজে শেডার সংকলনের জন্য FXC এর পরিবর্তে DXC ব্যবহার করুন
- কম্পিউট এবং রেন্ডার পাসে টাইমস্ট্যাম্প কোয়েরি
- শেডার মডিউলের ডিফল্ট এন্ট্রি পয়েন্ট
- GPUExternalTexture কালার স্পেস হিসেবে display-p3 সাপোর্ট করে
- মেমোরি হিপস সম্পর্কিত তথ্য
- ভোরের আপডেট
ক্রোম ১২০
- WGSL-এ ১৬-বিট ফ্লোটিং-পয়েন্ট মানের জন্য সমর্থন
- সীমা অতিক্রম করুন
- গভীরতা-স্টেন্সিল অবস্থায় পরিবর্তন
- অ্যাডাপ্টারের তথ্য আপডেট
- টাইমস্ট্যাম্প কোয়েরি কোয়ান্টাইজেশন
- বসন্ত-পরিষ্কারের বৈশিষ্ট্য
ক্রোম ১১৯
- ফিল্টারযোগ্য ৩২-বিট ফ্লোট টেক্সচার
- unorm10-10-10-2 ভার্টেক্স ফর্ম্যাট
- rgb10a2uint টেক্সচার ফর্ম্যাট
- ভোরের আপডেট
ক্রোম ১১৮
-
copyExternalImageToTexture()
তে HTMLImageElement এবং ImageData সাপোর্ট - পঠন-লেখা এবং পঠন-শুধুমাত্র স্টোরেজ টেক্সচারের জন্য পরীক্ষামূলক সহায়তা
- ভোরের আপডেট
ক্রোম ১১৭
- ভার্টেক্স বাফার আনসেট করুন
- বাইন্ড গ্রুপ আনসেট করুন
- ডিভাইস হারিয়ে গেলে অ্যাসিঙ্ক পাইপলাইন তৈরির সময় ত্রুটিগুলি নীরব করুন
- SPIR-V শেডার মডিউল তৈরির আপডেট
- ডেভেলপারের অভিজ্ঞতা উন্নত করা হচ্ছে
- স্বয়ংক্রিয়ভাবে তৈরি লেআউট সহ পাইপলাইন ক্যাশ করা হচ্ছে
- ভোরের আপডেট
ক্রোম ১১৬
- ওয়েবকোডেক্স ইন্টিগ্রেশন
- GPUAdapter
requestDevice()
দ্বারা হারিয়ে যাওয়া ডিভাইসটি ফেরত পাঠানো হয়েছে -
importExternalTexture()
কল করা হলে ভিডিও প্লেব্যাক মসৃণ রাখুন - স্পেক সম্মতি
- ডেভেলপারের অভিজ্ঞতা উন্নত করা হচ্ছে
- ভোরের আপডেট
ক্রোম ১১৫
- সমর্থিত WGSL ভাষা এক্সটেনশন
- Direct3D 11 এর জন্য পরীক্ষামূলক সহায়তা
- এসি পাওয়ারে ডিফল্টভাবে ডিসক্রিট জিপিইউ পান
- ডেভেলপারের অভিজ্ঞতা উন্নত করা হচ্ছে
- ভোরের আপডেট
ক্রোম ১১৪
- জাভাস্ক্রিপ্ট অপ্টিমাইজ করুন
- কনফিগার না করা ক্যানভাসে getCurrentTexture() InvalidStateError ছুঁড়ে দেয়
- WGSL আপডেট
- ভোরের আপডেট