প্রকাশিত: জানুয়ারী 29, 2025
অতিরিক্ত unorm8x4-bgra এবং 1-কম্পোনেন্ট ভার্টেক্স ফরম্যাট
"unorm8x4-bgra"
ভার্টেক্স ফরম্যাট এবং নিম্নলিখিত 1-কম্পোনেন্ট ভার্টেক্স ফরম্যাট যোগ করা হয়েছে: "uint8"
, "sint8"
, "unorm8"
, "snorm8"
, "uint16"
, " "sint16"
, "unorm16"
, "snorm16"
, এবং "float16"
। "unorm8x4-bgra"
ভার্টেক্স ফরম্যাট একই শেডার রাখার সময় BGRA-এনকোডেড ভার্টেক্স রং লোড করা কিছুটা বেশি সুবিধাজনক করে তোলে। উপরন্তু, 1-কম্পোনেন্ট ভার্টেক্স ফর্ম্যাট আপনাকে শুধুমাত্র সেই ডেটার জন্য অনুরোধ করতে দেয় যা আগে 8 এবং 16-বিট ডেটা টাইপের জন্য কমপক্ষে দ্বিগুণ প্রয়োজন ছিল। ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 376924407 দেখুন।
অজানা সীমা অনির্ধারিত মান সহ অনুরোধ করার অনুমতি দিন
WebGPU API এর বিকাশের সাথে সাথে এটিকে কম ভঙ্গুর করতে, আপনি এখন GPU ডিভাইসের অনুরোধ করার সময় undefined
মান সহ অজানা সীমার অনুরোধ করতে পারেন। এটি নিম্নলিখিত অ্যাপ্লিকেশন কোডে দরকারী উদাহরণস্বরূপ যেখানে adapter.limits.someLimit
undefined
হতে পারে যদি someLimit
আর বিদ্যমান না থাকে। বিশেষ পিআর 4781 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice({
requiredLimits: { someLimit: adapter.limits.someLimit }, // someLimit can be undefined
});
WGSL প্রান্তিককরণ নিয়ম পরিবর্তন
স্ট্রাকট মেম্বারদের জন্য খুব ছোট অ্যালাইনমেন্ট মান প্রদান করা আর সম্ভব নয় কারণ এখন প্রয়োজন যে @align(n)
সমস্ত স্ট্রাকটের জন্য RequiredAlignOf
ভাগ করে। এই ব্রেকিং পরিবর্তন ডাব্লুজিএসএল ভাষার ব্যবহারকে সহজ করে এবং এটিকে ফায়ারফক্স এবং সাফারির সাথে আরও সামঞ্জস্যপূর্ণ করে তোলে। আপনি স্পেক PR- এ Tint, Naga এবং WebKit কম্পাইলারের মধ্যে পার্থক্য দেখানো নমুনা কোড খুঁজে পেতে পারেন।
বাতিলের সাথে WGSL কার্যক্ষমতা লাভ করে
একটি জটিল স্ক্রিন-স্পেস রিফ্লেকশন (SSR) ইফেক্ট রেন্ডার করার সময় একটি উল্লেখযোগ্য কর্মক্ষমতা ড্রপের কারণে, বাতিল স্টেটমেন্টের বাস্তবায়ন প্ল্যাটফর্ম-প্রদত্ত শব্দার্থবিদ্যা ব্যবহার করে যখন উপলভ্য হয় তখন সাহায্যকারী আমন্ত্রণে নামানোর জন্য। এটি বাতিল ব্যবহার করে এমন শেডারের কর্মক্ষমতা উন্নত করে। সংখ্যা 372714384 দেখুন।
বাহ্যিক টেক্সচারের জন্য ভিডিওফ্রেম ডিসপ্লে সাইজ ব্যবহার করুন
WebGPU স্পেক অনুযায়ী ভিডিওফ্রেম ইম্পোর্ট করার সময় displayWidth
এবং displayHeight
মাত্রাগুলি GPUExternalTexture-এর আপাত আকার হিসাবে ব্যবহার করা উচিত৷ তবে একটি GPUExternalTexture এ textureLoad()
ব্যবহার করার চেষ্টা করার সময় দৃশ্যমান আকারটি ভুলভাবে ব্যবহার করা হয়েছিল যা সমস্যার সৃষ্টি করে। এটা এখন ঠিক করা হয়েছে। সংখ্যা 377574981 দেখুন।
CopyExternalImageToTexture ব্যবহার করে অ-ডিফল্ট অভিযোজন সহ চিত্রগুলি পরিচালনা করুন
copyExternalImageToTexture()
GPUQueue পদ্ধতিটি একটি চিত্র বা ক্যানভাসের বিষয়বস্তু একটি টেক্সচারে অনুলিপি করতে ব্যবহৃত হয়। এটি এখন অ-ডিফল্ট অভিযোজন সহ চিত্রগুলি সঠিকভাবে পরিচালনা করে। এটি আগে ছিল না যখন উত্সটি imageOrientation
"from-image"
সহ একটি ইমেজবিটম্যাপ বা অ-ডিফল্ট অভিযোজন সহ একটি চিত্র ছিল। সংখ্যা 384858956 দেখুন।
বিকাশকারীর অভিজ্ঞতা উন্নত করা
এটা আশ্চর্যজনক হতে পারে যখন adapter.limits
উচ্চ মান দেখায়, কিন্তু আপনি বুঝতে পারেন না যে একটি GPU ডিভাইসের অনুরোধ করার সময় আপনাকে স্পষ্টভাবে একটি উচ্চ সীমার অনুরোধ করতে হবে। এটি করতে ব্যর্থ হলে পরে অপ্রত্যাশিতভাবে সীমা আঘাত করতে পারে।
আপনাকে সাহায্য করার জন্য, ত্রুটি বার্তাগুলিকে ইঙ্গিত সহ প্রসারিত করা হয়েছে যা আপনাকে স্পষ্টভাবে একটি উচ্চ সীমার অনুরোধ করতে বলে যখন requestDevice()
কল করার সময় requiredLimits
কোন সীমা নির্দিষ্ট করা হয়নি। সংখ্যা 42240683 দেখুন।
ডিফল্ট সর্বোচ্চ বাফার আকার ডিভাইস সীমা অতিক্রম করে একটি GPU বাফার তৈরি করার সময় নিম্নলিখিত উদাহরণটি আপনাকে DevTools কনসোলে লগ করা একটি উন্নত ত্রুটি বার্তা দেখায়।
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
// Create a GPU buffer with a size exceeding the default max buffer size device limit.
const size = device.limits.maxBufferSize + 1;
const buffer = device.createBuffer({ size, usage: GPUBufferUsage.MAP_READ });
device.queue.submit([]);
⚠️ Buffer size (268435457) exceeds the max buffer size limit (268435456). This adapter supports a higher maxBufferSize of 4294967296, which can be specified in requiredLimits when calling requestDevice(). Limits differ by hardware, so always check the adapter limits prior to requesting a higher limit. - While calling [Device].CreateBuffer([BufferDescriptor]).
ফিচার লেভেলের সাথে সামঞ্জস্যপূর্ণ মোড সক্ষম করুন
পরীক্ষামূলক সামঞ্জস্যতা মোডে একটি GPU অ্যাডাপ্টারের অনুরোধ করা এখন মানসম্মত featureLevel
বিকল্পটিকে "compatibility"
তে সেট করে সম্ভব৷ "core"
(ডিফল্ট) এবং "compatibility"
স্ট্রিং শুধুমাত্র অনুমোদিত মান। নিম্নলিখিত উদাহরণ এবং স্পেক PR 4897 দেখুন।
// Request a GPU adapter in compatibility mode
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });
if (adapter?.featureLevel === "compatibility") {
// Any devices created from this adapter will support only compatibility mode.
}
featureLevel
বিকল্পটি অ-প্রমিত compatibilityMode
বিকল্পটিকে প্রতিস্থাপন করে যখন অ-প্রমিত বৈশিষ্ট্য featureLevel
বৈশিষ্ট্যটি isCompatibilityMode
বৈশিষ্ট্যটি প্রতিস্থাপন করে।
যেহেতু এটি এখনও পরীক্ষামূলক, আপনাকে আপাতত chrome://flags/#enable-unsafe-webgpu
"অনিরাপদ ওয়েবজিপিইউ সমর্থন" পতাকা সহ Chrome চালাতে হবে৷ এটির সাথে খেলতে webgpureport.org দেখুন।
পরীক্ষামূলক সাবগ্রুপ বৈশিষ্ট্য পরিষ্কার
অপ্রচলিত "chromium-experimental-subgroups"
এবং "chromium-experimental-subgroup-uniform-control-flow"
পরীক্ষামূলক সাবগ্রুপ বৈশিষ্ট্যগুলি সরানো হয়েছে৷ সংখ্যা 377868468 দেখুন।
সাবগ্রুপগুলির সাথে পরীক্ষা করার সময় আপনার এখন যা দরকার তা হল "subgroups"
পরীক্ষামূলক বৈশিষ্ট্য। "subgroups-f16"
পরীক্ষামূলক বৈশিষ্ট্যটি বাতিল করা হয়েছে এবং শীঘ্রই সরানো হবে৷ যখন আপনার অ্যাপ্লিকেশন "shader-f16"
এবং "subgroups"
উভয় বৈশিষ্ট্যের জন্য অনুরোধ করে তখন আপনি সাবগ্রুপের সাথে f16 মান ব্যবহার করতে পারেন। সংখ্যা 380244620 দেখুন।
maxInterStageShaderComponents সীমা বাতিল করুন
কারণগুলির সংমিশ্রণের কারণে maxInterStageShaderComponents
সীমা অবনমন করা হয়েছে:
-
maxInterStageShaderVariables
এর সাথে রিডানড্যান্সি : এই সীমাটি ইতিমধ্যেই একই ধরনের উদ্দেশ্যে কাজ করে, শেডার পর্যায়ের মধ্যে পাস করা ডেটার পরিমাণ নিয়ন্ত্রণ করে। - ছোটখাটো অমিল: দুটি সীমা কীভাবে গণনা করা হয় তাতে সামান্য পার্থক্য থাকলেও, এই পার্থক্যগুলি গৌণ এবং
maxInterStageShaderVariables
সীমার মধ্যে কার্যকরভাবে পরিচালনা করা যেতে পারে। - সরলীকরণ:
maxInterStageShaderComponents
অপসারণ shader ইন্টারফেসকে স্ট্রীমলাইন করে এবং বিকাশকারীদের জন্য জটিলতা কমায়। সূক্ষ্ম পার্থক্য সহ দুটি পৃথক সীমা পরিচালনা করার পরিবর্তে, তারা আরও উপযুক্তভাবে নামযুক্ত এবং ব্যাপকmaxInterStageShaderVariables
উপর ফোকাস করতে পারে।
লক্ষ্য হল Chrome 135-এ এটিকে সম্পূর্ণরূপে মুছে ফেলা। 364338810 অবমূল্যায়ন এবং ইস্যু করার উদ্দেশ্য দেখুন।
ভোরের আপডেট
wgpu::Device::GetAdapterInfo(adapterInfo)
আপনাকে সরাসরি wgpu::Device
থেকে অ্যাডাপ্টারের তথ্য পেতে দেয়। সংখ্যা 376600838 দেখুন।
WGPUProgrammableStageDescriptor
struct-এর নাম পরিবর্তন করে WGPUComputeState
করা হয়েছে কম্পিউট স্টেটকে ভার্টেক্স এবং ফ্র্যাগমেন্ট স্টেটের সাথে সামঞ্জস্যপূর্ণ করতে। সংখ্যা 379059434 দেখুন।
wgpu::VertexStepMode::VertexBufferNotUsed
enum মানটি সরানো হয়েছে। একটি ভার্টেক্স বাফার লেআউট যা ব্যবহার করা হয় না তা এখন {.stepMode=wgpu::VertexStepMode::Undefined, .attributeCount=0}
দিয়ে প্রকাশ করা যেতে পারে। সংখ্যা 383147017 দেখুন।
এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।
WebGPU-তে নতুন কি আছে
ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।
ক্রোম 133
- অতিরিক্ত unorm8x4-bgra এবং 1-কম্পোনেন্ট ভার্টেক্স ফরম্যাট
- অজানা সীমা অনির্ধারিত মান সহ অনুরোধ করার অনুমতি দিন
- WGSL প্রান্তিককরণ নিয়ম পরিবর্তন
- বাতিলের সাথে WGSL কার্যক্ষমতা লাভ করে
- বাহ্যিক টেক্সচারের জন্য ভিডিওফ্রেম ডিসপ্লে সাইজ ব্যবহার করুন
- CopyExternalImageToTexture ব্যবহার করে অ-ডিফল্ট অভিযোজন সহ চিত্রগুলি পরিচালনা করুন
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- ফিচার লেভেলের সাথে সামঞ্জস্যপূর্ণ মোড সক্ষম করুন
- পরীক্ষামূলক সাবগ্রুপ বৈশিষ্ট্য পরিষ্কার
- maxInterStageShaderComponents সীমা বাতিল করুন
- ভোরের আপডেট
ক্রোম 132
- টেক্সচার ভিউ ব্যবহার
- 32-বিট ফ্লোট টেক্সচারের মিশ্রণ
- GPUDevice adapterInfo বৈশিষ্ট্য
- অবৈধ বিন্যাসের সাথে ক্যানভাস প্রসঙ্গ কনফিগার করা জাভাস্ক্রিপ্ট ত্রুটি থ্রো
- টেক্সচারের উপর নমুনা সীমাবদ্ধতা ফিল্টারিং
- বর্ধিত সাবগ্রুপ পরীক্ষা
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- 16-বিট স্বাভাবিক টেক্সচার ফরম্যাটের জন্য পরীক্ষামূলক সমর্থন
- ভোরের আপডেট
ক্রোম 131
- WGSL এ ক্লিপ দূরত্ব
- GPUCanvasContext getConfiguration()
- বিন্দু এবং লাইন আদিম গভীরতা পক্ষপাত থাকতে হবে না
- সাবগ্রুপগুলির জন্য অন্তর্নির্মিত ফাংশন অন্তর্ভুক্ত স্ক্যান
- মাল্টি-ড্র পরোক্ষ জন্য পরীক্ষামূলক সমর্থন
- Shader মডিউল সংকলন বিকল্প কঠোর গণিত
- GPUAdapter requestAdapterInfo() সরান
- ভোরের আপডেট
ক্রোম 130
- দ্বৈত উৎস মিশ্রন
- ধাতুতে Shader সংকলন সময় উন্নতি
- GPUAdapter রিকোয়েস্ট অ্যাডাপ্টারইনফো() এর অবচয়
- ভোরের আপডেট
ক্রোম 129
ক্রোম 128
- সাবগ্রুপগুলির সাথে পরীক্ষা করা হচ্ছে
- লাইন এবং পয়েন্টের জন্য গভীরতার পক্ষপাত সেটিং বাতিল করুন
- ডিফল্ট প্রতিরোধ করলে ক্যাপচারড ত্রুটি DevTools সতর্কতা লুকান
- WGSL ইন্টারপোলেট স্যাম্পলিং প্রথমে এবং হয়
- ভোরের আপডেট
ক্রোম 127
- অ্যান্ড্রয়েডে OpenGL ES-এর জন্য পরীক্ষামূলক সমর্থন
- GPUAdapter তথ্য বৈশিষ্ট্য
- WebAssembly ইন্টারপ উন্নতি
- উন্নত কমান্ড এনকোডার ত্রুটি
- ভোরের আপডেট
ক্রোম 126
- maxTextureArrayLayers সীমা বাড়ান
- Vulkan ব্যাকএন্ডের জন্য বাফার আপলোড অপ্টিমাইজেশান
- Shader সংকলন সময় উন্নতি
- জমা দেওয়া কমান্ড বাফার অনন্য হতে হবে
- ভোরের আপডেট
ক্রোম 125
ক্রোম 124
- রিড-ওনলি এবং রিড-রাইট স্টোরেজ টেক্সচার
- সেবা কর্মী এবং শেয়ার্ড ওয়ার্কার্স সমর্থন
- নতুন অ্যাডাপ্টারের তথ্য বৈশিষ্ট্য
- বাগ ফিক্স
- ভোরের আপডেট
ক্রোম 123
- DP4a বিল্ট-ইন ফাংশন WGSL-এ সমর্থন করে
- WGSL-এ অনিয়ন্ত্রিত পয়েন্টার পরামিতি
- WGSL-এ কম্পোজিট ডিরেফারেন্স করার জন্য সিনট্যাক্স চিনি
- স্টেনসিল এবং গভীরতার দিকগুলির জন্য আলাদা পঠনযোগ্য অবস্থা
- ভোরের আপডেট
ক্রোম 122
- সামঞ্জস্যপূর্ণ মোডের সাথে নাগাল প্রসারিত করুন (বিকাশের বৈশিষ্ট্য)
- maxVertexAttributes সীমা বাড়ান
- ভোরের আপডেট
ক্রোম 121
- অ্যান্ড্রয়েডে WebGPU সমর্থন করুন
- উইন্ডোজে শেডার কম্পাইলেশনের জন্য FXC-এর পরিবর্তে DXC ব্যবহার করুন
- গণনা এবং রেন্ডার পাসে টাইমস্ট্যাম্প প্রশ্ন
- শেডার মডিউলে ডিফল্ট এন্ট্রি পয়েন্ট
- GPUExternalTexture রঙের স্থান হিসাবে প্রদর্শন-p3 সমর্থন করে
- মেমরি হিপ তথ্য
- ভোরের আপডেট
ক্রোম 120
- WGSL-এ 16-বিট ফ্লোটিং-পয়েন্ট মানগুলির জন্য সমর্থন
- সীমা ধাক্কা
- গভীরতা-স্টেনসিল অবস্থায় পরিবর্তন
- অ্যাডাপ্টারের তথ্য আপডেট
- টাইমস্ট্যাম্প ক্যোয়ান্টাইজেশন
- বসন্ত-পরিষ্কার বৈশিষ্ট্য
ক্রোম 119
- ফিল্টারযোগ্য 32-বিট ফ্লোট টেক্সচার
- unorm10-10-10-2 শীর্ষবিন্দু বিন্যাস
- rgb10a2uint টেক্সচার ফরম্যাট
- ভোরের আপডেট
ক্রোম 118
-
copyExternalImageToTexture()
এ HTMLImageElement এবং ImageData সমর্থন - পঠন-লেখা এবং শুধুমাত্র-পঠন সঞ্চয়স্থান টেক্সচারের জন্য পরীক্ষামূলক সমর্থন
- ভোরের আপডেট
ক্রোম 117
- শীর্ষবিন্দু বাফার আনসেট করুন
- বাইন্ড গ্রুপ আনসেট করুন
- ডিভাইস হারিয়ে গেলে অ্যাসিঙ্ক পাইপলাইন তৈরির ত্রুটিগুলি নীরব করুন৷
- SPIR-V shader মডিউল তৈরির আপডেট
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- স্বয়ংক্রিয়ভাবে তৈরি লেআউট সহ পাইপলাইন ক্যাশ করা হচ্ছে
- ভোরের আপডেট
ক্রোম 116
- ওয়েবকোডেক্স ইন্টিগ্রেশন
- হারিয়ে যাওয়া ডিভাইস GPUAdapter
requestDevice()
দ্বারা ফেরত দেওয়া হয়েছে -
importExternalTexture()
বলা হলে ভিডিও প্লেব্যাক মসৃণ রাখুন - বিশেষ সঙ্গতি
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
ক্রোম 115
- WGSL ভাষা এক্সটেনশন সমর্থিত
- Direct3D 11 এর জন্য পরীক্ষামূলক সমর্থন
- AC পাওয়ারে ডিফল্টরূপে আলাদা GPU পান
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
ক্রোম 114
- জাভাস্ক্রিপ্ট অপ্টিমাইজ করুন
- getCurrentTexture() কনফিগার না করা ক্যানভাসে InvalidStateError নিক্ষেপ করে
- WGSL আপডেট
- ভোরের আপডেট