প্রকাশিত: ২৫ ফেব্রুয়ারী, ২০২৬
OpenGL ES 3.1-এ WebGPU সামঞ্জস্য মোড সমর্থন করে
যদিও WebGPU আধুনিক গ্রাফিক্স API যেমন Vulkan, Metal, এবং D3D12 এর সাথে সামঞ্জস্যপূর্ণভাবে ডিজাইন করা হয়েছে, অনেক ব্যবহারকারীর কাছে পুরানো হার্ডওয়্যার রয়েছে যা এই মানগুলিকে সমর্থন করে না। এই ব্যবধান পূরণ করতে এবং ব্যাপক অ্যাক্সেসিবিলিটি নিশ্চিত করতে, Chrome একটি নতুন অপ্ট-ইন বৈশিষ্ট্য চালু করেছে যার নাম "কম্প্যাটিবিলিটি মোড"।
এই মোড আপনাকে OpenGL ES 3.1 এর মতো পুরোনো গ্রাফিক্স API গুলিতে WebGPU চালাতে দেয়। WebGPU স্পেসিফিকেশনের সামান্য সীমাবদ্ধ উপসেটকে লক্ষ্য করে, আপনি নিশ্চিত করেন যে আপনার ওয়েব অ্যাপটি সকলের কাছে অ্যাক্সেসযোগ্য, সর্বশেষ গেমিং রিগ থেকে শুরু করে পুরোনো ল্যাপটপ এবং মোবাইল ডিভাইস পর্যন্ত। অ্যান্ড্রয়েড দিয়ে শুরু করার সময়, দলটি অন্যান্য ডিভাইসের জন্য সমর্থন অন্বেষণ করছে, যেমন OpenGL ES 3.1 সহ ChromeOS এবং Direct3D 11 সহ Windows।
অনেক ওয়েব অ্যাপের ক্ষেত্রে, আপনি requestAdapter() কল করার সময় featureLevel: "compatibility" পাস করে সামঞ্জস্যতা মোড সক্ষম করতে পারেন। যদি আপনার ডিভাইসটি Core WebGPU সমর্থন করে, তাহলে Chrome একটি Core-সক্ষম অ্যাডাপ্টার ফিরিয়ে দেবে, কিন্তু আপনার ওয়েব অ্যাপটি "core-features-and-limits" বৈশিষ্ট্যটি সক্ষম না করলে (অথবা সমস্ত উপলব্ধ বৈশিষ্ট্য সক্ষম না করলে) সামঞ্জস্যতা সীমার মধ্যে থাকতে জানবে। আরও জটিল অ্যাপ্লিকেশনগুলির মোডের সীমাবদ্ধতার মধ্যে ফিট করার জন্য ছোটখাটো সমন্বয়ের প্রয়োজন হতে পারে।
// Request a GPUAdapter in compatibility mode.
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });
const device = await adapter.requestDevice();
এই মোডের নির্দিষ্ট স্থাপত্য সীমাবদ্ধতা সম্পর্কে বিস্তারিত তথ্যের জন্য WebGPU মৌলিক নির্দেশিকা দেখুন। উপরন্তু, সমস্ত WebGPU নমুনা এখন সামঞ্জস্য মোড সমর্থন করে। আপনি intent to ship -এও পড়তে পারেন।
ক্ষণস্থায়ী সংযুক্তি
মেমোরি-দক্ষ সংযুক্তি তৈরি করতে আপনি নতুন TRANSIENT_ATTACHMENT GPUTextureUsage ফ্ল্যাগ ব্যবহার করতে পারেন। এটি রেন্ডার পাস অপারেশনগুলিকে টাইল মেমোরিতে থাকতে দেয়, যা VRAM ট্র্যাফিক এড়ায় এবং টেক্সচারের জন্য VRAM বরাদ্দ এড়াতে পারে।
একটি টেক্সচারকে ক্ষণস্থায়ী (অথবা "স্মৃতিহীন") হিসেবে ঘোষণা করে, GPU জানে যে এটির কেবলমাত্র টেক্সচারের বিষয়বস্তু সাময়িকভাবে প্রয়োজন - বিশেষ করে, শুধুমাত্র বর্তমান রেন্ডার পাসের মধ্যে। তাছাড়া, যেহেতু রেন্ডার পাসের পরে টেক্সচারের বিষয়বস্তু বাতিল করা হয়, তাই ড্রাইভারকে এর জন্য VRAM বরাদ্দ করার প্রয়োজন নাও হতে পারে।
নিচের উদাহরণটি দেখায় কিভাবে একটি ক্ষণস্থায়ী টেক্সচার তৈরি করতে হয়।
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
if ('TRANSIENT_ATTACHMENT' in GPUTextureUsage) {
const transientTexture = device.createTexture({
size: [42, 42],
// The TRANSIENT_ATTACHMENT flag indicates the texture content is temporary,
// potentially keeping it in fast on-chip memory.
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TRANSIENT_ATTACHMENT,
format: 'rgba8unorm',
});
}
হ্যালো ট্রায়াঙ্গেল MSAA - WebGPU নমুনা এবং পাঠানোর উদ্দেশ্য দেখুন।
WGSL টেক্সচার_এন্ড_স্যাম্পলার_লেট এক্সটেনশন
WGSL ল্যাঙ্গুয়েজ এক্সটেনশন texture_and_sampler_let আপনাকে WGSL শেডারের মধ্যে একটি let এ টেক্সচার বা স্যাম্পলার ভেরিয়েবল বরাদ্দ করতে দেয়। এই বৈশিষ্ট্যটি বর্তমানে একটি বিকল্প নামকরণ প্রক্রিয়া প্রদান করে এবং বাইন্ডলেস সাপোর্টের জন্য প্রস্তুত করে যেখানে টেক্সচার বা স্যাম্পলার ফেরত দেওয়ার পদ্ধতিগুলি সরাসরি স্থানীয় ভেরিয়েবলে সংরক্ষণ করা যেতে পারে।
নিম্নলিখিত উদাহরণ এবং পাঠানোর উদ্দেশ্য দেখুন।
@group(0) @binding(0) var tex: texture_2d<f32>;
@group(1) @binding(0) var store : texture_storage_2d<r32float, read_write>;
@fragment fn main() {
let a = tex;
var res: vec4f = textureLoad(a, vec2i(1i), 0);
textureStore(store, vec2i(0i), res);
}
ভোরের আপডেট
নিম্নলিখিত নতুন সীমা স্তরগুলি উপলব্ধ:
maxStorageBuffersPerShaderStage১৬ পর্যন্ত সাপোর্ট করে। সংখ্যাটি দেখুন ৩৬৬১৫১৩৯৮ ।maxSampledTexturesPerShaderStage48 পর্যন্ত সমর্থন করে। সংখ্যা 475255737 দেখুন।
অতিরিক্ত নিরাপত্তা স্তর প্রদান এবং ত্রুটিপূর্ণ ইনপুট থেকে ড্রাইভারের অস্থিরতা রোধ করার জন্য Android-এ SPIR-V যাচাইকরণ ডিফল্টরূপে সক্রিয় থাকে। সমস্যা 473526182 দেখুন।
এখানে শুধুমাত্র কিছু গুরুত্বপূর্ণ বিষয় অন্তর্ভুক্ত করা হয়েছে। কমিটের সম্পূর্ণ তালিকাটি দেখুন।
WebGPU-তে নতুন কী আছে
"What's New in WebGPU" সিরিজে যা যা আলোচনা করা হয়েছে তার একটি তালিকা।
ক্রোম ১৪৬
- OpenGL ES 3.1-এ WebGPU সামঞ্জস্য মোড সমর্থন করে
- ক্ষণস্থায়ী সংযুক্তি
- WGSL টেক্সচার_এবং_স্যাম্পলার_লেট
- ভোরের আপডেট
ক্রোম ১৪৫
- WGSL সাবগ্রুপ_ইউনিফর্মিটি এক্সটেনশন
- কর্মীদের মধ্যে পরীক্ষামূলক সিঙ্ক্রোনাস বাফার ম্যাপিং
- ভোরের আপডেট
ক্রোম ১৪৪
- WGSL সাবগ্রুপ_আইডি এক্সটেনশন
- WGSL ইউনিফর্ম_বাফার_স্ট্যান্ডার্ড_লেআউট এক্সটেনশন
- লিনাক্সে ওয়েবজিপিইউ
- দ্রুততর writeBuffer এবং writeTexture
- ভোরের আপডেট
ক্রোম ১৪৩
ক্রোম ১৪২
ক্রোম ১৪১
- টিন্ট আইআর সম্পন্ন হয়েছে
- 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 আপডেট
- ভোরের আপডেট