রিড-ওনলি এবং রিড-রাইট স্টোরেজ টেক্সচার
স্টোরেজ টেক্সচার বাইন্ডিং টাইপ শেডারদের TEXTURE_BINDING
ব্যবহার যোগ না করে স্টোরেজ টেক্সচার থেকে পড়তে এবং নির্দিষ্ট ফরম্যাটে মিশ্র পঠন এবং লেখা সম্পাদন করতে দেয়। যখন "readonly_and_readwrite_storage_textures"
WGSL ল্যাঙ্গুয়েজ এক্সটেনশনটি navigator.gpu.wgslLanguageFeatures
এ উপস্থিত থাকে, তখন আপনি এখন একটি বাইন্ড গ্রুপ লেআউট তৈরি করার সময় "read-write"
বা "read-only"
-এ GPUStorageTexture
অ্যাক্সেস সেট করতে পারেন। পূর্বে এটি "write-only"
সীমাবদ্ধ ছিল।
তারপর, আপনার ডাব্লুজিএসএল শেডার কোড স্টোরেজ টেক্সচারের জন্য read_write
এবং read
অ্যাক্সেস কোয়ালিফায়ার ব্যবহার করতে পারে, textureLoad()
এবং textureStore()
বিল্ট-ইন ফাংশনগুলি সেই অনুযায়ী আচরণ করে এবং টেক্সচার মেমরি অ্যাক্সেস সিঙ্ক্রোনাইজ করার জন্য একটি নতুন textureBarrier()
বিল্ট-ইন ফাংশন উপলব্ধ। একটি ওয়ার্কগ্রুপ।
requires readonly_and_readwrite_storage_textures;
সাথে অ-বহনযোগ্যতার সম্ভাব্যতার সংকেত দিতে একটি প্রয়োজন-নির্দেশ ব্যবহার করার পরামর্শ দেওয়া হয়; আপনার WGSL শেডার কোডের শীর্ষে। নিম্নলিখিত উদাহরণ দেখুন এবং ইস্য্যু ডন:1972 ।
if (!navigator.gpu.wgslLanguageFeatures.has("readonly_and_readwrite_storage_textures")) {
throw new Error("Read-only and read-write storage textures are not available");
}
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
const bindGroupLayout = device.createBindGroupLayout({
entries: [{
binding: 0,
visibility: GPUShaderStage.COMPUTE,
storageTexture: {
access: "read-write", // <-- New!
format: "r32uint",
},
}],
});
const shaderModule = device.createShaderModule({ code: `
requires readonly_and_readwrite_storage_textures;
@group(0) @binding(0) var tex : texture_storage_2d<r32uint, read_write>;
@compute @workgroup_size(1, 1)
fn main(@builtin(local_invocation_id) local_id: vec3u) {
var data = textureLoad(tex, vec2i(local_id.xy));
data.x *= 2;
textureStore(tex, vec2i(local_id.xy), data);
}`
});
// You can now create a compute pipeline with this shader module and
// send the appropriate commands to the GPU.
সেবা কর্মী এবং শেয়ার্ড ওয়ার্কার্স সমর্থন
Chrome-এ WebGPU ওয়েব কর্মীদের সমর্থনকে পরবর্তী স্তরে নিয়ে যায়, এখন পরিষেবা কর্মী এবং ভাগ করা কর্মীদের উভয়ের জন্যই সমর্থন অফার করে৷ আপনি পটভূমি কাজ এবং অফলাইন ক্ষমতা উন্নত করতে পরিষেবা কর্মীদের ব্যবহার করতে পারেন, এবং স্ক্রিপ্ট জুড়ে দক্ষ সম্পদ ভাগাভাগির জন্য ভাগ করা কর্মীদের। ক্রোমিয়াম সংখ্যা দেখুন:41494731 ।
একটি এক্সটেনশন পরিষেবা কর্মী কিভাবে WebGPU ব্যবহার করবেন তা দেখতে ক্রোম এক্সটেনশন নমুনা এবং WebLLM ক্রোম এক্সটেনশন দেখুন।
নতুন অ্যাডাপ্টারের তথ্য বৈশিষ্ট্য
যদি ব্যবহারকারী chrome://flags/#enable-webgpu-developer-features
এ "WebGPU বিকাশকারী বৈশিষ্ট্যগুলি" পতাকা সক্ষম করে থাকে তবে নন-স্ট্যান্ডার্ড d3dShaderModel
এবং vkDriverVersion
অ্যাডাপ্টারের তথ্য বৈশিষ্ট্যগুলি এখন requestAdapterInfo()
কল করার পরে উপলব্ধ। যখন সমর্থিত:
d3dShaderModel
হল সর্বাধিক সমর্থিত D3D শেডার মডেল নম্বর৷ উদাহরণস্বরূপ, মান 62 নির্দেশ করে যে বর্তমান ড্রাইভার HLSL SM 6.2 সমর্থন করে। ডকুমেন্টেশন এবং ইস্যু ডন দেখুন:1254 ।vkDriverVersion
হল Vulkan ড্রাইভারের বিক্রেতা-নির্দিষ্ট সংস্করণ নম্বর। ডকুমেন্টেশন দেখুন এবং ক্রোমিয়াম ইস্যু করুন:327457605 ।
বাগ ফিক্স
layout: "auto"
, তারপর প্রথম পাইপলাইনের সাথে একটি বাইন্ডগ্রুপ তৈরি করা এবং দ্বিতীয় পাইপলাইনে এটি ব্যবহার করা এখন একটি GPUValidationError উত্থাপন করে। এটি একটি বাস্তবায়ন বাগ ছিল যা এখন সঠিক পরীক্ষার মাধ্যমে সংশোধন করা হয়েছে। দেখুন ভোরের সংখ্যা: 2402 ।
ভোরের আপডেট
Dawn API-এ, wgpuDeviceSetUncapturedErrorCallback
এর সাথে সেট করা আনক্যাপচারড এরর কলব্যাক এখন GPU ডিভাইসটি হারিয়ে যাওয়ার পরে কল করা হয় না। এই ফিক্সটি জাভাস্ক্রিপ্ট এপিআই স্পেসিফিকেশন এবং ব্লিঙ্কের বাস্তবায়নের সাথে ডনকে সারিবদ্ধ করে। দেখুন ভোরের সংখ্যা: 2459 ।
এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।
WebGPU-তে নতুন কি আছে
ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।
ক্রোম 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 আপডেট
- ভোরের আপডেট