প্রকাশিত: 26 মে, 2025
বাহ্যিক টেক্সচার বাইন্ডিংয়ের জন্য টেক্সচার ভিউ ব্যবহার করুন
একটি সামঞ্জস্যপূর্ণ GPUTextureView (2D, একক সাবরিসোর্স) এখন একটি GPUBindGroup তৈরি করার সময় একটি GPUExternalTexture বাইন্ডিংয়ের জায়গায় ব্যবহার করার অনুমতি দেওয়া হয়েছে।
এটি ভিডিও ইফেক্ট পাইপলাইনগুলিতে শেডার লজিককে সরল করে যেখানে GPUExternalTexture (উৎস ভিডিওর জন্য) এবং GPUTextureView (মধ্যবর্তী প্রক্রিয়াকরণের জন্য) উভয়ই পরিচালনা করতে হবে। এটি টেক্সচার কোথা থেকে আসে তার উপর নির্ভর করে গতিশীলভাবে শেডার কম্পাইল করার প্রয়োজনীয়তাও হ্রাস করে। জাহাজের উদ্দেশ্য দেখুন: WebGPU: GPUTextureView বহিরাগত টেক্সচার বাইন্ডিংয়ের জন্য ।
const texture = myDevice.createTexture({
size: [42, 42],
format: navigator.gpu.getPreferredCanvasFormat(),
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
});
const code = `
@group(0) @binding(0) var texture : texture_external;
@group(0) @binding(1) var<storage, read_write> buffer: vec2u;
@compute @workgroup_size(1) fn main() {
buffer = textureDimensions(texture);
}`;
const pipeline = myDevice.createComputePipeline({
layout: "auto",
compute: { module: myDevice.createShaderModule({ code }) },
});
const bindGroup = myDevice.createBindGroup({
layout: pipeline.getBindGroupLayout(0),
entries: [
{ binding: 0, resource: texture.createView() }, // Use texture view for an externalTexture binding
{ binding: 1, resource: { buffer: myBuffer } },
],
});
অফসেট এবং আকার নির্দিষ্ট না করেই বাফার কপি করে
একটি নতুন GPUCommandEncoder পদ্ধতি ওভারলোড ডেভেলপারদের সম্পূর্ণ বাফারের অনুলিপি সহজ করতে copyBufferToBuffer()
ব্যবহার করার সময় অফসেট এবং আকারের প্যারামিটারগুলি বাদ দিতে দেয়৷ শিপ করার উদ্দেশ্য দেখুন: WebGPU: copyBufferToBuffer ওভারলোড ।
const size = 42;
const srcBuffer = myDevice.createBuffer({
size,
usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC,
});
const dstBuffer = myDevice.createBuffer({
size,
usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
});
// Copy entire buffer.
myCommandEncoder.copyBufferToBuffer(srcBuffer, dstBuffer);
// This is the same as the following.
// myCommandEncoder.copyBufferToBuffer(srcBuffer, 0, dstBuffer, 0, size);
পরমাণু থেকে পয়েন্টার ব্যবহার করে WGSL ওয়ার্কগ্রুপ ইউনিফর্ম লোড
ডেভেলপারদের সুবিধার জন্য WGSL-এ একটি নতুন workgroupUniformLoad(ptr)
ওভারলোড যোগ করা হয়েছে। এটি পারমাণবিকভাবে ptr
দ্বারা নির্দেশিত মান লোড করে এবং ওয়ার্কগ্রুপের সমস্ত আমন্ত্রণে এটি ফেরত দেয়, যেখানে ptr
একটি ওয়ার্কগ্রুপ ভেরিয়েবলের ভিতরে একটি পয়েন্টার-টু-পারমাণবিক। সংখ্যা 408241039 দেখুন।
@group(0) @binding(0) var<storage, read_write> buffer : array<u32, 1>;
var<workgroup> wgvar : atomic<u32>;
@compute @workgroup_size(1, 1)
fn main(@builtin(local_invocation_index) lid: u32) {
if (lid == 0) {
atomicStore(&(wgvar), 42u);
}
buffer[lid] = workgroupUniformLoad(&wgvar);
}
GPUAdapterInfo powerPreference অ্যাট্রিবিউট
যখন ব্যবহারকারী chrome://flags/#enable-webgpu-developer-features
এ "WebGPU বিকাশকারী বৈশিষ্ট্য" ফ্ল্যাগ সক্ষম করে তখন অ-মানক powerPreference
GPUAdapterInfo স্ট্রিং বৈশিষ্ট্যটি এখন উপলব্ধ। যদি সমর্থিত হয়, GPURequestAdapterOptions- এ ব্যবহৃত GPUPowerPreference মানের উপর নির্ভর করে powerPreference
মান হয় "low-power"
বা "high-performance"
হতে পারে। CL 6438860 দেখুন।
function checkPowerPreferenceForGpuDevice(device) {
const powerPreference = device.adapterInfo.powerPreference;
if (powerPreference === "high-performance") {
// High-performance GPU detected. Enabling enhanced graphics settings.
} else if (powerPreference === "low-power") {
// Low-power GPU detected. Optimizing for battery life.
}
}
GPURequestAdapterOptions compatibilityMode বৈশিষ্ট্য সরান
পরীক্ষামূলক GPURequestAdapterOptions compatibilityMode
অ্যাট্রিবিউটটি Chrome 133-এ যোগ করা স্ট্যান্ডার্ডাইজড featureLevel
অ্যাট্রিবিউটের পক্ষে সরানো হয়েছে। সংখ্যা 366151404 দেখুন।
ভোরের আপডেট
ডেভেলপাররা WebGPU.h ব্যবহার করে C++ এর মতো ভাষায় WebGPU প্রোজেক্ট তৈরি করতে পারে WebAssembly এবং নির্দিষ্ট প্ল্যাটফর্ম উভয়কেই টার্গেট করতে। Dawn-এর সদ্য-প্রকাশিত "emdawnwebgpu" ("Emscripten Dawn WebGPU") ব্রাউজার এপিআই-এর উপর সর্বশেষ প্রমিত webgpu.h প্রয়োগ করে৷
Emdawnwebgpu হল Emscripten এর (এখন অপরিবর্তিত) অন্তর্নির্মিত বাইন্ডিং ( USE_WEBGPU
) এর একটি (রক্ষণাবেক্ষণ করা) কাঁটা। সমস্ত নতুন ডেভেলপমেন্ট emdawnwebgpu-তে করা হচ্ছে, এবং ডেভেলপাররা emdawnwebgpu-তে স্থানান্তরিত হলে Emscripten-এর অন্তর্নির্মিত বাইন্ডিংগুলি সরানো হবে। Emdawnwebgpu-এর C শিরোনামটি Dawn-এর খুব কাছাকাছি, যেখানে বিল্ট-ইন বাইন্ডিংগুলি উল্লেখযোগ্যভাবে পুরানো৷
ডনের গিটহাব রিলিজ পৃষ্ঠা থেকে emdawnwebgpu ডাউনলোড করুন এবং এটি কীভাবে ব্যবহার করবেন সে সম্পর্কে তথ্যের জন্য প্যাকেজের README.md পড়ুন। সোর্স ফাইলগুলি ডন রিপোজিটরিতে পাওয়া যাবে।
একটি সম্পূর্ণ গাইডের জন্য, WebGPU ডকুমেন্টেশন সহ আপডেট করা একটি অ্যাপ তৈরি করুন দেখুন।
এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।
WebGPU-তে নতুন কি আছে
ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।
ক্রোম 138
- বাইন্ডিং রিসোর্স হিসাবে বাফার ব্যবহার করার জন্য সংক্ষিপ্ত বিবরণ
- তৈরির সময় ম্যাপ করা বাফারগুলির জন্য আকারের প্রয়োজনীয়তা পরিবর্তন
- সাম্প্রতিক GPU-এর জন্য আর্কিটেকচার রিপোর্ট
- GPUAdapter isFallbackAdapter অ্যাট্রিবিউট অবমূল্যায়ন করুন
- ভোরের আপডেট
ক্রোম 137
- বাহ্যিক টেক্সচার বাইন্ডিংয়ের জন্য টেক্সচার ভিউ ব্যবহার করুন
- অফসেট এবং আকার নির্দিষ্ট না করেই বাফার কপি করে
- পরমাণু থেকে পয়েন্টার ব্যবহার করে WGSL ওয়ার্কগ্রুপ ইউনিফর্ম লোড
- GPUAdapterInfo powerPreference অ্যাট্রিবিউট
- GPURequestAdapterOptions compatibilityMode বৈশিষ্ট্য সরান
- ভোরের আপডেট
ক্রোম 136
- GPUAdapterInfo হল FallbackAdapter অ্যাট্রিবিউট
- D3D12 এ Shader সংকলন সময়ের উন্নতি
- ক্যানভাস ছবি সংরক্ষণ এবং অনুলিপি
- সামঞ্জস্য মোড সীমাবদ্ধতা তুলে নিন
- ভোরের আপডেট
ক্রোম 135
- নাল বাইন্ড গ্রুপ লেআউট সহ পাইপলাইন লেআউট তৈরি করার অনুমতি দিন
- ভিউপোর্টকে রেন্ডার লক্ষ্য সীমা অতিক্রম করার অনুমতি দিন
- অ্যান্ড্রয়েডে পরীক্ষামূলক সামঞ্জস্য মোডে সহজ অ্যাক্সেস
- maxInterStageShaderComponents সীমা সরান
- ভোরের আপডেট
ক্রোম 134
- সাবগ্রুপগুলির সাথে মেশিন-লার্নিং ওয়ার্কলোড উন্নত করুন
- মিশ্রনযোগ্য হিসাবে ফ্লোট ফিল্টারযোগ্য টেক্সচার প্রকার সমর্থন সরান
- ভোরের আপডেট
ক্রোম 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 আপডেট
- ভোরের আপডেট