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

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

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

Android এর জন্য Chrome-এ পরীক্ষামূলক WebGPU সামঞ্জস্য মোডের অনুরোধ করার সময় আপনি এখন OpenGL ES ব্যাকএন্ড থেকে একটি GPUAdapter অ্যাক্সেস করতে পারেন। এটি বিশেষত Vulkan 1.1 বা তার বেশির জন্য সমর্থনহীন Android ডিভাইসগুলির জন্য দরকারী৷ নিচের উদাহরণটি দেখুন এবং ভোরের সংখ্যাটি দেখুন: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. নিম্নলিখিত ক্রোম ফ্ল্যাগগুলি সক্ষম করুন: "অনিরাপদ ওয়েবজিপিইউ সমর্থন", "ওয়েবজিপিইউ বিকাশকারী বৈশিষ্ট্য", এবং "নন-রুটেড ডিভাইসগুলিতে কমান্ড লাইন সক্ষম করুন"।
  2. আপনার Android ডিভাইসে USB ডিবাগিং সক্ষম করুন।
  3. আপনার অ্যান্ড্রয়েড ডিভাইসটিকে আপনার ওয়ার্কস্টেশনের সাথে সংযুক্ত করুন, adb shell 'echo "_ --use-webgpu-adapter=opengles" > /data/local/tmp/chrome-command-line' ওপেনজিএল ইএস ব্যাকএন্ডকে Vulkan এর উপর পছন্দ করতে এবং পুনরায় চালু করুন ক্রোম

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

একটি অ্যাডাপ্টার সম্পর্কে শনাক্তকরণ তথ্য পাওয়া এখন GPUAdapter info বৈশিষ্ট্যের সাথে একটি সিঙ্ক্রোনাস উপায়ে করা যেতে পারে। পূর্বে, অ্যাসিঙ্ক্রোনাস GPUAdapter requestAdapterInfo() পদ্ধতিতে কল করা অ্যাডাপ্টারের তথ্য পাওয়ার একমাত্র উপায় ছিল। যাইহোক, requestAdapterInfo() WebGPU স্পেক থেকে সরানো হয়েছে এবং প্রয়োজনীয় ট্রানজিশন করার জন্য ওয়েব ডেভেলপারদের পর্যাপ্ত সময় দেওয়ার জন্য এই বছরের শেষের দিকে ক্রোমে সরিয়ে দেওয়া হবে। নিম্নলিখিত উদাহরণ দেখুন, ক্রোম স্ট্যাটাস এবং ইস্যু 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 ইন্টারপ উন্নতি

WebAssembly হিপগুলি সরাসরি WebGPU-তে পাঠানোর জন্য, নিম্নলিখিত BufferSource আর্গুমেন্টের মাপ আর 2 GB-তে সীমাবদ্ধ নয়: setBindGroup() -এ dynamicOffsetsData , writeBuffer() -এ সোর্স data , এবং সোর্স 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::SurfaceCapabilities::usages যখন wgpu::Surface::GetCapabilities() কল করার মাধ্যমে উপলব্ধ। তারা সবসময় wgpu::TextureUsage::RenderAttachment অন্তর্ভুক্ত করবে বলে আশা করা হচ্ছে। সংখ্যা 301 দেখুন।

এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।

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

ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।

ক্রোম 131

ক্রোম 130

ক্রোম 129

ক্রোম 128

ক্রোম 127

ক্রোম 126

ক্রোম 125

ক্রোম 124

ক্রোম 123

ক্রোম 122

ক্রোম 121

ক্রোম 120

ক্রোম 119

ক্রোম 118

ক্রোম 117

ক্রোম 116

ক্রোম 115

ক্রোম 114

ক্রোম 113