WebGPU (Chrome 140) এ নতুন কি আছে

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

প্রকাশিত: ২৭ আগস্ট, ২০২৫

ডিভাইসের অনুরোধগুলি অ্যাডাপ্টার ব্যবহার করে

WebGPU স্পেসিফিকেশন অনুসারে, একটি সফল ডিভাইস অনুরোধের পরে একটি অ্যাডাপ্টারকে "consumed" হিসাবে চিহ্নিত করা হয়। ফলস্বরূপ, একই অ্যাডাপ্টার ব্যবহার করে পরবর্তী যেকোনো requestDevice() কল এখন একটি প্রত্যাখ্যাত প্রতিশ্রুতিতে পরিণত হবে। পূর্বে, এই কলগুলি তৈরির সময় হারিয়ে যাওয়া ডিভাইসটি ফেরত পাঠাত। সমস্যা 415825174 দেখুন।

const adapter = await navigator.gpu.requestAdapter(); const device = await adapter.requestDevice();  await adapter.requestDevice(); // Fails because adapter has been consumed. 

টেক্সচার ভিউ ব্যবহার করা হলে টেক্সচার ব্যবহারের সংক্ষিপ্ত বিবরণ

একটি GPUTexture এখন সরাসরি GPUBindingResource হিসেবে ব্যবহার করা যেতে পারে যাতে এটি শেডারের কাছে বাইন্ডিং এর জন্য উন্মুক্ত করা যায়। এটি GPURenderPassColorAttachment view , GPURenderPassColorAttachment resolveTarget এবং GPURenderPassDepthStencilAttachment view হিসেবেও ব্যবহার করা যেতে পারে উন্নত এরগনোমিক্সের জন্য। এটি GPUTextureView ব্যবহার করে ডিফল্ট ভিউ পাওয়ার চেয়ে সহজ পদ্ধতি প্রদান করে। সমস্যা 425906323 দেখুন।

const bindGroup = myDevice.createBindGroup({   layout: myPipeline.getBindGroupLayout(0),   entries: [     { binding: 0, resource: mySampler },     { binding: 1, resource: myTexture }, // Same as myTexture.createView()     { binding: 2, resource: myExternalTexture },     { binding: 3, resource: myBuffer },   ], }); 

WGSL টেক্সচারSampleLevel 1D টেক্সচার সমর্থন করে

2D টেক্সচারের সাথে সামঞ্জস্যের জন্য textureSampleLevel() ব্যবহার করে এখন 1D টেক্সচারের নমুনা নেওয়া যেতে পারে। এটি আপনাকে একটি ভার্টেক্স শেডার থেকে 1D টেক্সচারের নমুনা নিতে দেয় যা আগে শুধুমাত্র textureSample() সহ একটি ফ্র্যাগমেন্ট শেডার থেকে সম্ভব ছিল। সংখ্যা 382514673 দেখুন।

bgra8unorm-এর পঠনযোগ্য স্টোরেজ টেক্সচার ব্যবহার বন্ধ করুন

"bgra8unorm" ফর্ম্যাটটি শুধুমাত্র পঠনযোগ্য স্টোরেজ টেক্সচারের সাথে ব্যবহার করা এখন বন্ধ। WebGPU স্পেসিফিকেশন স্পষ্টভাবে এটিকে অনুমোদন করে না, এবং Chrome-এ এর পূর্ববর্তী অনুমোদনটি একটি বাগ ছিল, কারণ এই ফর্ম্যাটটি শুধুমাত্র লেখার অ্যাক্সেসের জন্য তৈরি এবং এটি পোর্টেবল নয়। সংখ্যা 427681156 দেখুন।

GPUAdapter isFallbackAdapter অ্যাট্রিবিউটটি সরান

পূর্বে ঘোষণা করা হয়েছে যে, GPUAdapter isFallbackAdapter অ্যাট্রিবিউটটি এখন সরানো হয়েছে। এটি GPUAdapterInfo isFallbackAdapter অ্যাট্রিবিউট দ্বারা প্রতিস্থাপিত হয়েছে যা Chrome 136 এ চালু করা হয়েছিল। অপসারণের উদ্দেশ্য দেখুন।

ভোরের আপডেট

wgpuInstanceGetWGSLLanguageFeatures() ফাংশনটি ইনস্ট্যান্স দ্বারা সমর্থিত WGSL ভাষার বৈশিষ্ট্যগুলির একটি তালিকা পেতে ব্যবহৃত হয়। পূর্বে এটি একটি WGPUStatus মান প্রদান করত। এটি ব্যর্থ হতে পারে না বলে কোনও মান প্রদান না করার জন্য এটি আপডেট করা হয়েছে। 429178774 সংখ্যাটি দেখুন।

যদি পৃষ্ঠের বর্তমান টেক্সচার না থাকে, তাহলে wgpuSurfacePresent() ফাংশনটি এখন WGPUStatus ত্রুটি প্রদান করে। সমস্যা 425930323 দেখুন।

নতুন wgpu::InstanceFeatureName::MultipleDevicesPerAdapter বৈশিষ্ট্যটি অ্যাডাপ্টারগুলিকে "ব্যবহার না করে" একাধিক ডিভাইস তৈরি করতে দেয়। সংখ্যা 415825174 দেখুন।

dump_shaders_on_failure ডিভাইস টগল আপনাকে শুধুমাত্র ডিবাগিংয়ের জন্য ব্যর্থতার ক্ষেত্রে শেডার ডাম্প করতে দেয়। এটি কেবলমাত্র D3 ব্যাকএন্ডের ক্ষেত্রে প্রযোজ্য, যদিও ভবিষ্যতে অন্যান্য ব্যাকএন্ডে সম্প্রসারণ সম্ভব। সংখ্যা 429187478 দেখুন।

রেন্ডার পাস জমা দেওয়ার সময় ওভারহেড কমাতে, বিশেষ করে মোবাইল জিপিইউতে উন্নত কর্মক্ষমতার জন্য, Vulkan ব্যাকএন্ডে একাধিক পরিবর্তন করা হয়েছে। উদাহরণস্বরূপ: VkFramebuffers ক্যাশিং

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

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

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

ক্রোম ১৪২

ক্রোম ১৪১

ক্রোম ১৪০

ক্রোম ১৩৯

ক্রোম ১৩৮

ক্রোম ১৩৭

ক্রোম ১৩৬

ক্রোম ১৩৫

ক্রোম ১৩৪

ক্রোম ১৩৩

ক্রোম ১৩২

ক্রোম ১৩১

ক্রোম ১৩০

ক্রোম ১২৯

ক্রোম ১২৮

ক্রোম ১২৭

ক্রোম ১২৬

ক্রোম ১২৫

ক্রোম ১২৪

ক্রোম ১২৩

ক্রোম ১২২

ক্রোম ১২১

ক্রোম ১২০

ক্রোম ১১৯

ক্রোম ১১৮

ক্রোম ১১৭

ক্রোম ১১৬

ক্রোম ১১৫

ক্রোম ১১৪

ক্রোম ১১৩