WGSL-এ ১৬-বিট ফ্লোটিং-পয়েন্ট মানের জন্য সমর্থন
WGSL-এ, f16 টাইপ হলো IEEE-754 বাইনারি১৬ (হাফ প্রিসিশন) ফরম্যাটের ১৬-বিট ফ্লোটিং-পয়েন্ট ভ্যালুর একটি সেট। এর মানে হলো, এটি একটি ফ্লোটিং-পয়েন্ট সংখ্যাকে উপস্থাপন করার জন্য ১৬ বিট ব্যবহার করে, যেখানে প্রচলিত সিঙ্গেল-প্রিসিশন ফ্লোটিং-পয়েন্ট ( f32 ) ৩২ বিট ব্যবহার করে। এই ছোট আকারের কারণে পারফরম্যান্সে উল্লেখযোগ্য উন্নতি হতে পারে, বিশেষ করে যখন বিপুল পরিমাণ ডেটা প্রসেস করা হয়।
তুলনার জন্য, একটি Apple M1 Pro ডিভাইসে, WebLLM চ্যাট ডেমোতে ব্যবহৃত Llama2 7B মডেলের f16 ইমপ্লিমেন্টেশনটি f32 ইমপ্লিমেন্টেশনের চেয়ে উল্লেখযোগ্যভাবে দ্রুততর, যেখানে প্রিফিল স্পিডে ২৮% এবং ডিকোডিং স্পিডে ৪১% উন্নতি দেখা যায়, যা নিম্নলিখিত স্ক্রিনশটগুলিতে দেখানো হয়েছে।

f32 (বামে) এবং f16 (ডানে) Llama2 7B মডেল ব্যবহার করে WebLLM চ্যাট ডেমো। Not all GPUs support 16-bit floating-point values. When the "shader-f16" feature is available in a GPUAdapter , you can now request a GPUDevice with this feature and create a WGSL shader module that takes advantage of the half-precision floating-point type f16 . This type is valid to use in the WGSL shader module only if you enable the f16 WGSL extension with enable f16; . Otherwise, createShaderModule() will generate a validation error. See the following minimal example and issue dawn:1510 .
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("shader-f16")) {
throw new Error("16-bit floating-point value support is not available");
}
// Explicitly request 16-bit floating-point value support.
const device = await adapter.requestDevice({
requiredFeatures: ["shader-f16"],
});
const code = `
enable f16;
@compute @workgroup_size(1)
fn main() {
const c : vec3h = vec3<f16>(1.0h, 2.0h, 3.0h);
}
`;
const shaderModule = device.createShaderModule({ code });
// Create a compute pipeline with this shader module
// and run the shader on the GPU...
নিম্নলিখিত কোড স্নিপেটে দেখানো অনুযায়ী, "shader-f16" ফিচার সাপোর্টের উপর নির্ভর করে একটি alias মাধ্যমে WGSL শেডার মডিউল কোডে f16 এবং f32 উভয় প্রকারকেই সমর্থন করা সম্ভব।
const adapter = await navigator.gpu.requestAdapter();
const hasShaderF16 = adapter.features.has("shader-f16");
const device = await adapter.requestDevice({
requiredFeatures: hasShaderF16 ? ["shader-f16"] : [],
});
const header = hasShaderF16
? `enable f16;
alias min16float = f16;`
: `alias min16float = f32;`;
const code = `
${header}
@compute @workgroup_size(1)
fn main() {
const c = vec3<min16float>(1.0, 2.0, 3.0);
}
`;
সীমা ছাড়িয়ে যান
ডিফল্টরূপে, সমস্ত কালার অ্যাটাচমেন্ট জুড়ে রেন্ডার পাইপলাইন আউটপুট ডেটার একটি স্যাম্পল (পিক্সেল বা সাবপিক্সেল) ধারণ করার জন্য প্রয়োজনীয় সর্বোচ্চ বাইট হলো ৩২ বাইট। এখন maxColorAttachmentBytesPerSample লিমিট ব্যবহার করে ৬৪ বাইট পর্যন্ত অনুরোধ করা সম্ভব। নিম্নলিখিত উদাহরণ এবং ইস্যু dawn:2036 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (adapter.limits.maxColorAttachmentBytesPerSample < 64) {
// When the desired limit isn't supported, take action to either fall back to
// a code path that does not require the higher limit or notify the user that
// their device does not meet minimum requirements.
}
// Request highest limit of max color attachments bytes per sample.
const device = await adapter.requestDevice({
requiredLimits: { maxColorAttachmentBytesPerSample: 64 },
});
সকল প্ল্যাটফর্মে ইন্টার-স্টেজ যোগাযোগের জন্য ব্যবহৃত maxInterStageShaderVariables এবং maxInterStageShaderComponents সীমা বৃদ্ধি করা হয়েছে। বিস্তারিত জানতে dawn:1448 ইস্যুটি দেখুন।
প্রতিটি শেডার স্টেজের জন্য, একটি পাইপলাইন লেআউট জুড়ে বাইন্ড গ্রুপ লেআউট এন্ট্রিগুলির মধ্যে স্টোরেজ বাফারের সর্বোচ্চ সংখ্যা ডিফল্টরূপে ৮। এখন maxStorageBuffersPerShaderStage লিমিট ব্যবহার করে ১০টি পর্যন্ত অনুরোধ করা সম্ভব। ইস্যু dawn:2159 দেখুন।
A new maxBindGroupsPlusVertexBuffers limit has been added. It consists of the maximum number of bind group and vertex buffer slots used simultaneously, counting any empty slots below the highest index. Its default value is 24. See issue dawn:1849 .
গভীরতা-স্টেনসিল অবস্থার পরিবর্তন
ডেভেলপার অভিজ্ঞতা উন্নত করার জন্য, depth-stencil স্টেটের depthWriteEnabled এবং depthCompare অ্যাট্রিবিউটগুলো এখন থেকে আর সবসময় প্রয়োজন হবে না: depthWriteEnabled শুধুমাত্র depth যুক্ত ফরম্যাটের জন্য প্রয়োজন, এবং depth যুক্ত ফরম্যাট যদি একেবারেই ব্যবহার না করা হয়, তবে depthCompare প্রয়োজন নেই। ইস্যু dawn:2132 দেখুন।
অ্যাডাপ্টার তথ্যের আপডেট
যখন ব্যবহারকারী chrome://flags/#enable-webgpu-developer-features " ফ্ল্যাগটি সক্রিয় করেছেন, তখন requestAdapterInfo() কল করার সময় নন-স্ট্যান্ডার্ড type এবং backend অ্যাডাপ্টার তথ্য অ্যাট্রিবিউটগুলো এখন উপলব্ধ হবে। type হতে পারে "discrete GPU", "integrated GPU", "CPU", অথবা "unknown"। backend হলো "WebGPU", "D3D11", "D3D12", "metal", "vulkan", "openGL", "openGLES", অথবা "null"। ইস্যু dawn:2112 এবং ইস্যু dawn:2107 দেখুন।

requestAdapterInfo() ফাংশনের ঐচ্ছিক unmaskHints লিস্ট প্যারামিটারটি সরিয়ে ফেলা হয়েছে। ইস্যু dawn:1427 দেখুন।
টাইমস্ট্যাম্প কোয়েরি কোয়ান্টাইজেশন
টাইমস্ট্যাম্প কোয়েরি অ্যাপ্লিকেশনগুলোকে জিপিইউ কমান্ডের নির্বাহের সময় ন্যানোসেকেন্ড নির্ভুলতায় পরিমাপ করতে দেয়। তবে, টাইমিং অ্যাটাকের উদ্বেগের কারণে ওয়েবজিপিইউ স্পেসিফিকেশন টাইমস্ট্যাম্প কোয়েরিকে ঐচ্ছিক রেখেছে। ক্রোম টিম মনে করে যে, রেজোলিউশন ১০০ মাইক্রোসেকেন্ডে কমিয়ে আনার মাধ্যমে টাইমস্ট্যাম্প কোয়েরিকে কোয়ান্টাইজ করা হলে তা নির্ভুলতা এবং নিরাপত্তার মধ্যে একটি ভালো ভারসাম্য প্রদান করে। ইস্যু dawn:1800 দেখুন।
ক্রোমে, ব্যবহারকারীরা chrome://flags/#enable-webgpu-developer-features "WebGPU Developer Features" ফ্ল্যাগটি সক্রিয় করে টাইমস্ট্যাম্প কোয়ান্টাইজেশন নিষ্ক্রিয় করতে পারেন। উল্লেখ্য যে, শুধুমাত্র এই ফ্ল্যাগটি "timestamp-query" ফিচারটি সক্রিয় করে না। এর বাস্তবায়ন এখনও পরীক্ষামূলক পর্যায়ে রয়েছে এবং তাই chrome://flags/#enable-unsafe-webgpu -এ থাকা "Unsafe WebGPU Support" ফ্ল্যাগটি প্রয়োজন।
ডন-এ 'timestamp_quantization' নামে একটি নতুন ডিভাইস টগল যোগ করা হয়েছে এবং এটি ডিফল্টরূপে সক্রিয় থাকে। নিম্নলিখিত কোড স্নিপেটটি দেখায় যে, কীভাবে একটি ডিভাইসের জন্য অনুরোধ করার সময় টাইমস্ট্যাম্প কোয়ান্টাইজেশন ছাড়াই পরীক্ষামূলক 'timestamp-query' ফিচারটি চালু করতে হয়।
wgpu::DawnTogglesDescriptor deviceTogglesDesc = {};
const char* allowUnsafeApisToggle = "allow_unsafe_apis";
deviceTogglesDesc.enabledToggles = &allowUnsafeApisToggle;
deviceTogglesDesc.enabledToggleCount = 1;
const char* timestampQuantizationToggle = "timestamp_quantization";
deviceTogglesDesc.disabledToggles = ×tampQuantizationToggle;
deviceTogglesDesc.disabledToggleCount = 1;
wgpu::DeviceDescriptor desc = {.nextInChain = &deviceTogglesDesc};
// Request a device with no timestamp quantization.
myAdapter.RequestDevice(&desc, myCallback, myUserData);
বসন্তকালীন পরিষ্কার-পরিচ্ছন্নতার বৈশিষ্ট্য
পরীক্ষামূলক 'timestamp-query-inside-passes' ফিচারটির নাম পরিবর্তন করে 'chromium-experimental-timestamp-query-inside-passes' রাখা হয়েছে, যাতে ডেভেলপারদের কাছে এটি স্পষ্ট হয় যে এই ফিচারটি পরীক্ষামূলক এবং আপাতত শুধুমাত্র ক্রোমিয়াম-ভিত্তিক ব্রাউজারগুলিতেই উপলব্ধ। ইস্যু dawn:1193 দেখুন।
পরীক্ষামূলক 'পাইপলাইন-স্ট্যাটিস্টিকস-কোয়েরি' ফিচারটি, যা কেবল আংশিকভাবে বাস্তবায়িত হয়েছিল, তা সরিয়ে ফেলা হয়েছে কারণ এটির আর উন্নয়ন করা হচ্ছে না। ইস্যু chromium:1177506 দেখুন।
এখানে কেবল কয়েকটি মূল বিষয় তুলে ধরা হয়েছে। কমিটগুলোর বিস্তারিত তালিকাটি দেখুন।
WebGPU-তে নতুন কী আছে
'What's New in WebGPU' সিরিজে যা যা আলোচনা করা হয়েছে, তার একটি তালিকা।
ক্রোম ১৪৯-১৫০
ক্রোম ১৪৭-১৪৮
ক্রোম ১৪৬
- OpenGL ES 3.1-এ WebGPU সামঞ্জস্যপূর্ণ মোড সমর্থন করে
- ক্ষণস্থায়ী সংযুক্তি
- WGSL টেক্সচার_এবং_স্যাম্পলার_লেট এক্সটেনশন
- ভোরের আপডেট
ক্রোম ১৪৫
- WGSL উপগোষ্ঠী_একরূপতা সম্প্রসারণ
- ওয়ার্কারদের মধ্যে পরীক্ষামূলক সিঙ্ক্রোনাস বাফার ম্যাপিং
- ভোরের আপডেট
ক্রোম ১৪৪
- WGSL উপগোষ্ঠী_আইডি এক্সটেনশন
- WGSL uniform_buffer_standard_layout এক্সটেনশন
- লিনাক্সে ওয়েবজিপিইউ
- দ্রুততর writeBuffer এবং writeTexture
- ভোরের আপডেট
ক্রোম ১৪৩
ক্রোম ১৪২
ক্রোম ১৪১
- টিন্ট আইআর সম্পন্ন হয়েছে
- WGSL কম্পাইলারে পূর্ণসংখ্যার পরিসর বিশ্লেষণ
- ভুলকান ব্যাকএন্ডের জন্য SPIR-V 1.4 আপডেট
- ভোরের আপডেট
ক্রোম ১৪০
- ডিভাইস অ্যাডাপ্টার ব্যবহারের অনুরোধ করে।
- যেখানে টেক্সচার ভিউ ব্যবহৃত হয়, সেখানে টেক্সচার ব্যবহারের সংক্ষিপ্ত রূপ।
- WGSL textureSampleLevel 1D টেক্সচার সমর্থন করে
- bgra8unorm রিড-অনলি স্টোরেজ টেক্সচারের ব্যবহার অপ্রচলিত করুন
- GPUAdapter isFallbackAdapter অ্যাট্রিবিউটটি সরান
- ভোরের আপডেট
ক্রোম ১৩৯
- BC এবং ASTC কম্প্রেসড ফরম্যাটের জন্য 3D টেক্সচার সাপোর্ট
- নতুন 'কোর-ফিচার-অ্যান্ড-লিমিটস' ফিচার
- WebGPU সামঞ্জস্য মোডের জন্য Origin ট্রায়াল
- ভোরের আপডেট
ক্রোম ১৩৮
- বাইন্ডিং রিসোর্স হিসেবে বাফার ব্যবহারের সংক্ষিপ্ত রূপ
- তৈরির সময় ম্যাপ করা বাফারগুলির আকারের প্রয়োজনীয়তা পরিবর্তিত হয়।
- সাম্প্রতিক জিপিইউগুলির জন্য স্থাপত্য প্রতিবেদন
- GPUAdapter isFallbackAdapter অ্যাট্রিবিউটটি অপ্রচলিত করুন
- ভোরের আপডেট
ক্রোম ১৩৭
- এক্সটার্নাল টেক্সচার বাইন্ডিং এর জন্য টেক্সচার ভিউ ব্যবহার করুন
- অফসেট এবং আকার নির্দিষ্ট না করে বাফার কপি করা হয়
- WGSL workgroupUniformLoad অ্যাটমিকের পয়েন্টার ব্যবহার করে
- GPUAdapterInfo powerPreference অ্যাট্রিবিউট
- GPURequestAdapterOptions-এর compatibilityMode অ্যাট্রিবিউটটি মুছে ফেলুন
- ভোরের আপডেট
ক্রোম ১৩৬
- GPUAdapterInfo isFallbackAdapter অ্যাট্রিবিউট
- D3D12-এ শেডার কম্পাইলেশন সময়ের উন্নতি
- ক্যানভাসের ছবিগুলো সংরক্ষণ ও কপি করুন
- লিফট সামঞ্জস্য মোড সীমাবদ্ধতা
- ভোরের আপডেট
ক্রোম ১৩৫
- নাল বাইন্ড গ্রুপ লেআউট সহ পাইপলাইন লেআউট তৈরির অনুমতি দিন
- ভিউপোর্টগুলিকে রেন্ডার টার্গেটের সীমানা ছাড়িয়ে প্রসারিত করার অনুমতি দিন
- অ্যান্ড্রয়েডে পরীক্ষামূলক সামঞ্জস্য মোডে আরও সহজে প্রবেশ করা যায়
- maxInterStageShaderComponents সীমা অপসারণ করুন
- ভোরের আপডেট
ক্রোম ১৩৪
- সাবগ্রুপের মাধ্যমে মেশিন-লার্নিং ওয়ার্কলোড উন্নত করুন
- ফ্লোট ফিল্টারযোগ্য টেক্সচার প্রকারের সমর্থন ব্লেন্ডেবল হিসেবে অপসারণ করুন
- ভোরের আপডেট
ক্রোম ১৩৩
- অতিরিক্ত unorm8x4-bgra এবং 1-কম্পোনেন্ট ভার্টেক্স ফরম্যাট
- অনির্ধারিত মান দিয়ে অজানা সীমা অনুরোধ করার অনুমতি দিন।
- WGSL অ্যালাইনমেন্ট নিয়মের পরিবর্তন
- বর্জনের মাধ্যমে WGSL-এর কর্মক্ষমতা বৃদ্ধি
- বাহ্যিক টেক্সচারের জন্য VideoFrame displaySize ব্যবহার করুন
- `copyExternalImageToTexture` ব্যবহার করে ডিফল্ট ওরিয়েন্টেশন ছাড়া অন্য ওরিয়েন্টেশনের ছবি পরিচালনা করুন।
- ডেভেলপারদের অভিজ্ঞতা উন্নত করা
- featureLevel-এর সাথে সামঞ্জস্য মোড সক্রিয় করুন
- পরীক্ষামূলক উপগোষ্ঠীর বৈশিষ্ট্য পরিষ্করণ
- maxInterStageShaderComponents সীমা বাতিল করুন
- ভোরের আপডেট
ক্রোম ১৩২
- টেক্সচার ভিউ ব্যবহার
- ৩২-বিট ফ্লোট টেক্সচার ব্লেন্ডিং
- GPUDevice অ্যাডাপ্টারইনফো অ্যাট্রিবিউট
- ভুল ফরম্যাটে ক্যানভাস কনটেক্সট কনফিগার করলে জাভাস্ক্রিপ্ট ত্রুটি দেখা দেয়।
- টেক্সচারের উপর ফিল্টারিং স্যাম্পলারের সীমাবদ্ধতা
- বর্ধিত উপগোষ্ঠী পরীক্ষা
- ডেভেলপারদের অভিজ্ঞতা উন্নত করা
- ১৬-বিট নর্মালাইজড টেক্সচার ফরম্যাটের জন্য পরীক্ষামূলক সমর্থন
- ভোরের আপডেট
ক্রোম ১৩১
- WGSL-এ ক্লিপ দূরত্ব
- GPUCanvasContext getConfiguration()
- বিন্দু এবং রেখা প্রিমিটিভগুলিতে গভীরতার পক্ষপাত থাকা উচিত নয়।
- উপগোষ্ঠীগুলির জন্য অন্তর্ভুক্তিমূলক স্ক্যান অন্তর্নির্মিত ফাংশন
- মাল্টি-ড্র ইনডিরেক্টের জন্য পরীক্ষামূলক সমর্থন
- শেডার মডিউল সংকলন বিকল্প কঠোর গণিত
- GPUAdapter requestAdapterInfo() অপসারণ করুন
- ভোরের আপডেট
ক্রোম ১৩০
- দ্বৈত উৎস মিশ্রণ
- মেটালে শেডার কম্পাইলেশন সময়ের উন্নতি
- GPUAdapter requestAdapterInfo() এর অপ্রচলিতকরণ
- ভোরের আপডেট
ক্রোম ১২৯
ক্রোম ১২৮
- উপগোষ্ঠী নিয়ে পরীক্ষা-নিরীক্ষা
- লাইন এবং পয়েন্টের জন্য ডেপথ বায়াস সেট করা অপ্রচলিত।
- preventDefault ব্যবহার করলে ক্যাপচার না করা ত্রুটির DevTools সতর্কতা লুকান
- WGSL প্রথমে ইন্টারপোলেট স্যাম্পলিং করে এবং হয়
- ভোরের আপডেট
ক্রোম ১২৭
- অ্যান্ড্রয়েডে OpenGL ES-এর জন্য পরীক্ষামূলক সমর্থন
- GPUAdapter তথ্য অ্যাট্রিবিউট
- ওয়েবঅ্যাসেম্বলি ইন্টারঅপ উন্নতি
- উন্নত কমান্ড এনকোডার ত্রুটি
- ভোরের আপডেট
ক্রোম ১২৬
- maxTextureArrayLayers সীমা বৃদ্ধি করুন
- ভলকান ব্যাকএন্ডের জন্য বাফার আপলোড অপ্টিমাইজেশন
- শেডার কম্পাইলেশন সময়ের উন্নতি
- জমা দেওয়া কমান্ড বাফারগুলি অবশ্যই অনন্য হতে হবে।
- ভোরের আপডেট
ক্রোম ১২৫
ক্রোম ১২৪
- পঠন-যোগ্য এবং পঠন-লিখনযোগ্য স্টোরেজ টেক্সচার
- পরিষেবা কর্মী এবং ভাগাভাগি কর্মীদের সমর্থন
- নতুন অ্যাডাপ্টার তথ্যের বৈশিষ্ট্য
- বাগ সংশোধন
- ভোরের আপডেট
ক্রোম ১২৩
- WGSL-এ DP4a-এর অন্তর্নির্মিত ফাংশনগুলির সমর্থন
- WGSL-এ অবাধ পয়েন্টার প্যারামিটার
- WGSL-এ কম্পোজিট ডি-রেফারেন্সিং-এর জন্য সিনট্যাক্স সুগার
- স্টেনসিল এবং গভীরতার দিকগুলির জন্য পৃথক পঠনযোগ্য অবস্থা
- ভোরের আপডেট
ক্রোম ১২২
- কম্প্যাটিবিলিটি মোডের মাধ্যমে পরিধি প্রসারিত করুন (ফিচারটি নির্মাণাধীন)
- maxVertexAttributes সীমা বৃদ্ধি করুন
- ভোরের আপডেট
ক্রোম ১২১
- অ্যান্ড্রয়েডে ওয়েবজিপিইউ সমর্থন করুন
- উইন্ডোজে শেডার কম্পাইলেশনের জন্য FXC-এর পরিবর্তে DXC ব্যবহার করুন।
- কম্পিউট এবং রেন্ডার পাসে টাইমস্ট্যাম্প কোয়েরি
- শেডার মডিউলগুলির ডিফল্ট এন্ট্রি পয়েন্ট
- GPUExternalTexture কালার স্পেস হিসেবে display-p3 সমর্থন করে।
- মেমরি হিপস তথ্য
- ভোরের আপডেট
ক্রোম ১২০
- WGSL-এ ১৬-বিট ফ্লোটিং-পয়েন্ট মানের জন্য সমর্থন
- সীমা ছাড়িয়ে যান
- গভীরতা-স্টেনসিল অবস্থার পরিবর্তন
- অ্যাডাপ্টার তথ্যের আপডেট
- টাইমস্ট্যাম্প কোয়েরি কোয়ান্টাইজেশন
- বসন্তকালীন পরিষ্কার-পরিচ্ছন্নতার বৈশিষ্ট্য
ক্রোম ১১৯
- ফিল্টারযোগ্য ৩২-বিট ফ্লোট টেক্সচার
- অগঠিত১০-১০-১০-২ শীর্ষবিন্দু বিন্যাস
- rgb10a2uint টেক্সচার ফরম্যাট
- ভোরের আপডেট
ক্রোম ১১৮
-
copyExternalImageToTexture()ফাংশনে HTMLImageElement এবং ImageData-এর সাপোর্ট - রিড-রাইট এবং রিড-অনলি স্টোরেজ টেক্সচারের জন্য পরীক্ষামূলক সমর্থন
- ভোরের আপডেট
ক্রোম ১১৭
- আনসেট ভার্টেক্স বাফার
- আনসেট বাইন্ড গ্রুপ
- ডিভাইস হারিয়ে গেলে অ্যাসিঙ্ক পাইপলাইন তৈরির ত্রুটিগুলো নীরব করুন
- SPIR-V শেডার মডিউল তৈরির আপডেট
- ডেভেলপারদের অভিজ্ঞতা উন্নত করা
- স্বয়ংক্রিয়ভাবে তৈরি লেআউট সহ ক্যাশিং পাইপলাইন
- ভোরের আপডেট
ক্রোম ১১৬
- ওয়েবকোডেকস ইন্টিগ্রেশন
- GPUAdapter
requestDevice()দ্বারা ফেরত দেওয়া হারানো ডিভাইস -
importExternalTexture()কল করা হলে ভিডিও প্লেব্যাক মসৃণ রাখুন - স্পেক সঙ্গতি
- ডেভেলপারদের অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
ক্রোম ১১৫
- সমর্থিত WGSL ভাষা এক্সটেনশন
- Direct3D 11 এর জন্য পরীক্ষামূলক সমর্থন
- এসি পাওয়ারে ডিফল্টভাবে ডেডিকেটেড জিপিইউ পাওয়া যায়।
- ডেভেলপারদের অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
ক্রোম ১১৪
- জাভাস্ক্রিপ্ট অপ্টিমাইজ করুন
- অকনফিগার করা ক্যানভাসে getCurrentTexture() কল করলে InvalidStateError থ্রো করে।
- WGSL আপডেট
- ভোরের আপডেট