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

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

প্রকাশিত: মার্চ 26, 2025

নাল বাইন্ড গ্রুপ লেআউট সহ পাইপলাইন লেআউট তৈরি করার অনুমতি দিন

পূর্বে, একটি খালি বাইন্ড গ্রুপ লেআউট তৈরি করার জন্য শূন্য বাইন্ডিং সহ একটি বাইন্ড গ্রুপ যোগ করা প্রয়োজন, যা অসুবিধাজনক ছিল। পাইপলাইন লেআউট তৈরি করার সময় নাল বাইন্ড গ্রুপ লেআউট অনুমোদিত এবং উপেক্ষা করায় এটি আর প্রয়োজনীয় নয়। এটি উন্নয়ন সহজ করা উচিত.

উদাহরণ স্বরূপ, আপনি একটি পাইপলাইন তৈরি করতে চাইতে পারেন যা শুধুমাত্র বাইন্ড গ্রুপ লেআউট 0 এবং 2 ব্যবহার করে। আপনি বাইন্ড গ্রুপ লেআউট 1 কে ফ্র্যাগমেন্ট ডাটা এবং গ্রুপ লেআউট 2 কে ভার্টেক্স ডাটার সাথে আবদ্ধ করতে পারেন এবং তারপর একটি ফ্র্যাগমেন্ট শেডার ছাড়াই রেন্ডার করতে পারেন। সংখ্যা 377836524 দেখুন।

const bgl0 = myDevice.createBindGroupLayout({ entries: myGlobalEntries });
const bgl1 = myDevice.createBindGroupLayout({ entries: myFragmentEntries });
const bgl2 = myDevice.createBindGroupLayout({ entries: myVertexEntries });

// Create a pipeline layout that will be used to render without a fragment shader.
const myPipelineLayout = myDevice.createPipelineLayout({
  bindGroupLayouts: [bgl0, null, bgl2],
});

ভিউপোর্টকে রেন্ডার লক্ষ্য সীমা অতিক্রম করার অনুমতি দিন

ভিউপোর্ট যাচাইকরণের প্রয়োজনীয়তা শিথিল করা হয়েছে যাতে ভিউপোর্টগুলিকে লক্ষ্য সীমার বাইরে যেতে দেওয়া হয়। বর্তমান ভিউপোর্টের বাইরে প্রসারিত হতে পারে এমন UI এর মতো 2D উপাদানগুলি আঁকার জন্য এটি বিশেষভাবে কার্যকর। সংখ্যা 390162929 দেখুন।

const passEncoder = myCommandEncoder.beginRenderPass({
  colorAttachments: [
    {
      view: myColorTexture.createView(),
      loadOp: "clear",
      storeOp: "store",
    },
  ],
});

// Set a viewport that extends past the render target's bounds by 8 pixels
// in all directions.
passEncoder.setViewport(
  /*x=*/ -8,
  /*y=*/ -8,
  /*width=*/ myColorTexture.width + 16,
  /*height=*/ myColorTexture.height + 16,
  /*minDepth=*/ 0,
  /*maxDepth=*/ 1,
);

// Draw geometry and complete the render pass as usual.

অ্যান্ড্রয়েডে পরীক্ষামূলক সামঞ্জস্য মোডে সহজ অ্যাক্সেস

chrome://flags/#enable-unsafe-webgpu পতাকা একাই এখন Android এ পরীক্ষামূলক WebGPU সামঞ্জস্য মোডের জন্য প্রয়োজনীয় সমস্ত ক্ষমতা সক্ষম করে৷ এর সাথে, আপনি featureLevel: "compatibility" বিকল্পের সাথে সামঞ্জস্যপূর্ণ মোডে একটি GPUAdapter অনুরোধ করতে পারেন এবং এমনকি Vulkan-এর জন্য সমর্থন নেই এমন ডিভাইসগুলিতে OpenGL ES ব্যাকএন্ডে অ্যাক্সেস পেতে পারেন। নিচের উদাহরণটি দেখুন এবং ভোরের ইস্যু করুন:389876644

// Request a GPUAdapter in compatibility mode.
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });
WebGPU রিপোর্ট পৃষ্ঠা Android ডিভাইসে সামঞ্জস্যপূর্ণ মোডে একটি GPUAdapter দেখায়।
webgpureport.org- এ সামঞ্জস্যপূর্ণ মোড অ্যাডাপ্টারের তথ্য।

maxInterStageShaderComponents সীমা সরান

পূর্বে ঘোষণা করা হয়েছে , maxInterStageShaderComponents সীমাটি কারণগুলির সংমিশ্রণের কারণে সরানো হয়েছে:

  • maxInterStageShaderVariables সাথে রিডানড্যান্সি : এই সীমাটি ইতিমধ্যেই একই ধরনের উদ্দেশ্যে কাজ করে, শেডার পর্যায়ের মধ্যে পাস করা ডেটার পরিমাণ নিয়ন্ত্রণ করে।
  • ছোটখাটো অমিল: দুটি সীমা কীভাবে গণনা করা হয় তাতে সামান্য পার্থক্য থাকলেও, এই পার্থক্যগুলি গৌণ এবং maxInterStageShaderVariables সীমার মধ্যে কার্যকরভাবে পরিচালনা করা যেতে পারে।
  • সরলীকরণ: maxInterStageShaderComponents অপসারণ shader ইন্টারফেসকে স্ট্রীমলাইন করে এবং বিকাশকারীদের জন্য জটিলতা কমায়। সূক্ষ্ম পার্থক্য সহ দুটি পৃথক সীমা পরিচালনা করার পরিবর্তে, তারা আরও উপযুক্তভাবে নামযুক্ত এবং ব্যাপক maxInterStageShaderVariables উপর ফোকাস করতে পারে।

364338810 অপসারণ এবং ইস্যু করার অভিপ্রায় দেখুন।

ভোরের আপডেট

গভীরতার টেক্সচারের নমুনা নিতে ফিল্টারিং স্যাম্পলার ব্যবহার করা আর সম্ভব নয়। একটি অনুস্মারক হিসাবে, একটি গভীরতা টেক্সচার শুধুমাত্র একটি নন ফিল্টারিং বা একটি তুলনা নমুনার সাথে ব্যবহার করা যেতে পারে। সংখ্যা 379788112 দেখুন।

WGPURequiredLimits এবং WGPUSupportedLimits কাঠামো WGPULimits এ সমতল করা হয়েছে। সংখ্যা 374263404 দেখুন।

নিম্নলিখিত স্ট্রাকটগুলির নাম পরিবর্তন করা হয়েছে। সংখ্যা 42240793 দেখুন।

  • WGPUImageCopyBuffer এখন WGPUTexelCopyBufferInfo
  • WGPUImageCopyTexture এখন WGPUTexelCopyTextureInfo
  • WGPUTextureDataLayout এখন WGPUTexelCopyBufferLayout

subgroupMinSize এবং subgroupMaxSize সদস্যদের WGPUAdapterInfo স্ট্রাকটে যোগ করা হয়েছে। ওয়েবজিপিইউ-হেডার পিআর দেখুন।

DAWN_TRACE_FILE_BASE এনভায়রনমেন্ট ভেরিয়েবলের সাথে আপনার প্রোগ্রাম চালানোর সময় মেটালে ডন এপিআই ব্যবহার ট্রেস করা এখন সম্ভব যা একটি .gputrace ফাইল সংরক্ষণ করে যা পরে XCode এর মেটাল ডিবাগারে লোড করা যেতে পারে। ডিবাগিং ডন ডকুমেন্টেশন দেখুন।

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

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

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

ক্রোম 135

ক্রোম 134

ক্রোম 133

ক্রোম 132

ক্রোম 131

ক্রোম 130

ক্রোম 129

ক্রোম 128

ক্রোম 127

ক্রোম 126

ক্রোম 125

ক্রোম 124

ক্রোম 123

ক্রোম 122

ক্রোম 121

ক্রোম 120

ক্রোম 119

ক্রোম 118

ক্রোম 117

ক্রোম 116

ক্রোম 115

ক্রোম 114

ক্রোম 113