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

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

ভার্টেক্স বাফার আনসেট করুন

GPURenderPassEncoder অথবা GPURenderBundleEncodersetVertexBuffer() -এ GPUBuffer এর পরিবর্তে null পাস করলে আপনি একটি নির্দিষ্ট স্লটে পূর্বে সেট করা vertex বাফার আনসেট করতে পারবেন। সমস্যা dawn:1675 দেখুন।

// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);

// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);

বাইন্ড গ্রুপ আনসেট করুন

GPURenderPassEncoder অথবা GPURenderBundleEncoderGPUBindGroup এর পরিবর্তে setBindGroup()null পাস করলে আপনি একটি নির্দিষ্ট স্লটে পূর্বে সেট করা বাইন্ড গ্রুপ আনসেট করতে পারবেন। সমস্যা dawn:1675 দেখুন।

// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);

// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);

ডিভাইস হারিয়ে গেলে অ্যাসিঙ্ক পাইপলাইন তৈরির সময় ত্রুটিগুলি নীরব করুন

GPUDevice এর createComputePipelineAsync() এবং createRenderPipelineAsync() পদ্ধতিগুলি একটি প্রতিশ্রুতি প্রদান করে যা পাইপলাইন তৈরি সম্পন্ন হলে সমাধান হয়ে যায়। এখন থেকে, GPUDevice lost গেলে async পাইপলাইন তৈরির ত্রুটিগুলি নীরব করা হবে যাতে হারিয়ে যাওয়া ডিভাইসগুলি যতটা সম্ভব কার্যকরী দেখায়। dawn issue:1874 দেখুন।

SPIR-V শেডার মডিউল তৈরির আপডেট

createShaderModule() দিয়ে একটি SPIR-V শেডার মডিউল তৈরি করলে এখন একটি TypeError আসবে যদি না আপনি "Unsafe WebGPU Support" ফ্ল্যাগ দিয়ে Chrome চালান কারণ SPIR-V WebGPU স্পেসিফিকেশনের অংশ নয়। এই পরিবর্তনের আগে SPIR-V ব্যবহার করলে একটি GPUInternalError তৈরি হত। change chromium:4711911 দেখুন।

ডেভেলপারের অভিজ্ঞতা উন্নত করা হচ্ছে

ভার্টেক্স শেডারে বাইন্ড গ্রুপ লেআউট বাইন্ডিংয়ের জন্য বৈধতা ত্রুটি বার্তাটি পঠন-লেখার স্টোরেজ বাফার এবং কেবল লেখার জন্য স্টোরেজ টেক্সচার বাইন্ডিংয়ের জন্য উন্নত করা হয়েছে। সমস্যাটি দেখুন dawn:1883

স্বয়ংক্রিয়ভাবে তৈরি লেআউট সহ পাইপলাইন ক্যাশ করা হচ্ছে

createRenderPipeline({ layout: "auto" }) দিয়ে তৈরি পাইপলাইনগুলি এখন Chrome-এ ক্যাশিং প্রক্রিয়ার সুবিধা গ্রহণ করে। এর অর্থ হল এই পাইপলাইনগুলি আরও দক্ষতার সাথে তৈরি হবে এবং কম মেমোরি ব্যবহার করবে। দেখুন dawn:1933

ভোরের আপডেট

wgpu::RequestAdapterOptionsBackendType এখন wgpu::RequestAdapterOptions এর অংশ, যাতে অ্যাপ্লিকেশনগুলি অ্যাডাপ্টার পাওয়ার সময় একটি নির্দিষ্ট ব্যাকএন্ডের অনুরোধ করা সহজ করে তোলে। নিম্নলিখিত উদাহরণটি দেখুন এবং dawn:1875 ইস্যু করুন

wgpu::RequestAdapterOptions options = {
    .backendType = wgpu::BackendType::D3D12};

// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);

Node.js এর জন্য বেশ কিছু অতিরিক্ত পদ্ধতি প্রয়োগ করা হয়েছে । change dawn:142465 দেখুন।

webgpu.h C API বুলিয়ান মানের জন্য তার ধরণ stdbool থেকে WGPUBool এ পরিবর্তন করেছে, যা একটি uint32_t । এই পরিবর্তনটি নিশ্চিত করার জন্য করা হয়েছে যে API-তে C এবং C++-এ সমতুল্য ABI রয়েছে।

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

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

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

ক্রোম ১৪২

ক্রোম ১৪১

ক্রোম ১৪০

ক্রোম ১৩৯

ক্রোম ১৩৮

ক্রোম ১৩৭

ক্রোম ১৩৬

ক্রোম ১৩৫

ক্রোম ১৩৪

ক্রোম ১৩৩

ক্রোম ১৩২

ক্রোম ১৩১

ক্রোম ১৩০

ক্রোম ১২৯

ক্রোম ১২৮

ক্রোম ১২৭

ক্রোম ১২৬

ক্রোম ১২৫

ক্রোম ১২৪

ক্রোম ১২৩

ক্রোম ১২২

ক্রোম ১২১

ক্রোম ১২০

ক্রোম ১১৯

ক্রোম ১১৮

ক্রোম ১১৭

ক্রোম ১১৬

ক্রোম ১১৫

ক্রোম ১১৪

ক্রোম ১১৩