WebGPU-তে নতুন কী আছে (Chrome 127)

ফ্রাঁসোয়া বিউফোর্ট
François Beaufort

অ্যান্ড্রয়েডে OpenGL ES এর জন্য পরীক্ষামূলক সমর্থন

এখন আপনি যখন Chrome-এ Android-এর জন্য পরীক্ষামূলক WebGPU সামঞ্জস্যতা মোডের অনুরোধ করবেন তখন OpenGL ES ব্যাকএন্ড থেকে একটি GPUAdapter অ্যাক্সেস করতে পারবেন। এটি বিশেষ করে Vulkan 1.1 বা তার বেশি সংস্করণ সমর্থন না করে এমন Android ডিভাইসগুলির জন্য কার্যকর। নিম্নলিখিত উদাহরণটি দেখুন এবং dawn:1545 ইস্যু করুন

// Request a GPUAdapter in compatibility mode
const adapter = await navigator.gpu.requestAdapter({ compatibilityMode: true });
WebGPU রিপোর্ট পৃষ্ঠাটি Android ডিভাইসে OpenGL ES ব্যাকএন্ড থেকে GPUAdapter তথ্য দেখায়।
webgpureport.org- এ OpenGL ES অ্যাডাপ্টারের তথ্য

যেহেতু এই বৈশিষ্ট্যটি এখনও পরীক্ষামূলক পর্যায়ে রয়েছে, তাই আপনাকে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করতে হবে:

  1. নিম্নলিখিত Chrome ফ্ল্যাগগুলি সক্ষম করুন: "অনিরাপদ WebGPU সমর্থন", "WebGPU বিকাশকারী বৈশিষ্ট্য", এবং "নন-রুটেড ডিভাইসগুলিতে কমান্ড লাইন সক্ষম করুন"।
  2. আপনার অ্যান্ড্রয়েড ডিভাইসে USB ডিবাগিং সক্ষম করুন।
  3. আপনার অ্যান্ড্রয়েড ডিভাইসটিকে আপনার ওয়ার্কস্টেশনের সাথে সংযুক্ত করুন, Vulkan-এর চেয়ে OpenGL ES ব্যাকএন্ড পছন্দ করতে adb shell 'echo "_ --use-webgpu-adapter=opengles" > /data/local/tmp/chrome-command-line' চালান এবং Chrome পুনরায় চালু করুন।

GPUAdapter তথ্য বৈশিষ্ট্য

GPUAdapter info অ্যাট্রিবিউট ব্যবহার করে এখন অ্যাডাপ্টার সম্পর্কে শনাক্তকরণ তথ্য সিঙ্ক্রোনাস পদ্ধতিতে পাওয়া যাবে। পূর্বে, অ্যাসিঙ্ক্রোনাস GPUAdapter requestAdapterInfo() পদ্ধতিতে কল করা অ্যাডাপ্টারের তথ্য পাওয়ার একমাত্র উপায় ছিল। তবে, WebGPU স্পেক থেকে requestAdapterInfo() মুছে ফেলা হয়েছে এবং এই বছরের শেষের দিকে Chrome থেকে এটি সরিয়ে ফেলা হবে যাতে ওয়েব ডেভেলপাররা প্রয়োজনীয় পরিবর্তন করতে যথেষ্ট সময় পান। নিম্নলিখিত উদাহরণটি দেখুন, Chrome Status , এবং সমস্যা 335383516 .

const adapter = await navigator.gpu.requestAdapter();
const info = adapter.info;

// During the transition period, you can use the following:
// const info = adapter.info || await adapter.requestAdapterInfo();

console.log(`Vendor: ${info.vendor}`); // "arm"
console.log(`Architecture: ${info.architecture}`); // "valhall"

ওয়েবঅ্যাসেম্বলি ইন্টারঅপ উন্নতি

WebAssembly হিপগুলি সরাসরি WebGPU-তে পাস করার জন্য, নিম্নলিখিত BufferSource আর্গুমেন্টগুলির আকার আর 2 GB-তে সীমাবদ্ধ নয়: setBindGroup()dynamicOffsetsData , writeBuffer() এ সোর্স data , এবং source data Pin writeTexture()সংখ্যা 339049388 দেখুন।

উন্নত কমান্ড এনকোডার ত্রুটি

কমান্ড এনকোডার থেকে উত্থাপিত কিছু বৈধতা ত্রুটির ক্ষেত্রে এখন উন্নত প্রাসঙ্গিক তথ্য থাকবে। উদাহরণস্বরূপ, একটি রেন্ডার পাস খোলা থাকা অবস্থায় একটি কম্পিউট পাস শুরু করার চেষ্টা করার ফলে নিম্নলিখিত ত্রুটি দেখা দিয়েছে।

Command cannot be recorded while [CommandEncoder (unlabeled)] is locked and [RenderPassEncoder (unlabeled)] is currently open.
    at CheckCurrentEncoder (..\..\third_party\dawn\src\dawn\native\EncodingContext.h:106)

এটি ত্রুটির কারণ বর্ণনা করে, তবে এটি নির্দেশ করে না যে আসলে কোন কলটি বৈধতা ত্রুটির কারণ হয়েছিল। নিম্নলিখিত ত্রুটিটি উন্নত বার্তাপ্রেরণ দেখায় যার মধ্যে ত্রুটিটি ট্রিগারকারী কমান্ড অন্তর্ভুক্ত রয়েছে। পরিবর্তন 192245 দেখুন।

Command cannot be recorded while [CommandEncoder (unlabeled)] is locked and [RenderPassEncoder (unlabeled)] is currently open.
 - While encoding [CommandEncoder (unlabeled)].BeginComputePass([ComputePassDescriptor]).

ভোরের আপডেট

webgpu.h C API আর wgpuSurfaceGetPreferredFormat() এক্সপোজ করে না, যা ডনের wgpu::Surface::GetPreferredFormat() এর C সমতুল্য। পরিবর্তে, সমর্থিত ফর্ম্যাটের তালিকা পেতে wgpu::Surface::GetCapabilities() ব্যবহার করুন, তারপর এই পৃষ্ঠের জন্য পছন্দসই টেক্সচার ফর্ম্যাট পেতে formats[0] ব্যবহার করুন। ইতিমধ্যে, wgpu::Surface::GetPreferredFormat() কল করলে একটি অবচয় সতর্কতা নির্গত হয়। সংখ্যা 290 দেখুন।

wgpu::Surface::GetCapabilities() wgpu::SurfaceCapabilities::usages এর মাধ্যমে এখন একটি পৃষ্ঠের সমর্থিত টেক্সচার ব্যবহার উপলব্ধ। আশা করা হচ্ছে যে এতে সর্বদা wgpu::TextureUsage::RenderAttachment অন্তর্ভুক্ত থাকবে। সংখ্যা 301 দেখুন।

এখানে শুধুমাত্র কিছু গুরুত্বপূর্ণ বিষয় অন্তর্ভুক্ত করা হয়েছে। কমিটের সম্পূর্ণ তালিকাটি দেখুন।

WebGPU-তে নতুন কী আছে

" What's New in WebGPU" সিরিজে যা যা আলোচনা করা হয়েছে তার একটি তালিকা।

ক্রোম ১৪২

ক্রোম ১৪১

ক্রোম ১৪০

ক্রোম ১৩৯

ক্রোম ১৩৮

ক্রোম ১৩৭

ক্রোম ১৩৬

ক্রোম ১৩৫

ক্রোম ১৩৪

ক্রোম ১৩৩

ক্রোম ১৩২

ক্রোম ১৩১

ক্রোম ১৩০

ক্রোম ১২৯

ক্রোম ১২৮

ক্রোম ১২৭

ক্রোম ১২৬

ক্রোম ১২৫

ক্রোম ১২৪

ক্রোম ১২৩

ক্রোম ১২২

ক্রোম ১২১

ক্রোম ১২০

ক্রোম ১১৯

ক্রোম ১১৮

ক্রোম ১১৭

ক্রোম ১১৬

ক্রোম ১১৫

ক্রোম ১১৪

ক্রোম ১১৩