প্রকাশিত: 8 জানুয়ারী, 2025
টেক্সচার ভিউ ব্যবহার
GPU টেক্সচার ভিউ বর্তমানে তাদের সোর্স GPU টেক্সচার থেকে সমস্ত ব্যবহারের পতাকা উত্তরাধিকারসূত্রে পায়। এটি সমস্যাযুক্ত হতে পারে কারণ কিছু ভিউ ফরম্যাট নির্দিষ্ট ব্যবহারের সাথে বেমানান। এই সমস্যাটির সমাধান করার জন্য, ঐচ্ছিক usage
সদস্যের সাথে createView()
কল করা আপনাকে স্পষ্টভাবে সোর্স টেক্সচারের ব্যবহার ফ্ল্যাগের একটি উপসেট নির্দিষ্ট করতে দেয় যা নির্বাচিত ভিউ ফরম্যাটের সাথে সামঞ্জস্যপূর্ণ।
এই পরিবর্তনটি আগাম যাচাইকরণ এবং ভিউটি কীভাবে ব্যবহার করা হয় তার উপর আরও সূক্ষ্ম নিয়ন্ত্রণের অনুমতি দেয়। এটি অন্যান্য গ্রাফিক্স API-এর সাথেও সারিবদ্ধ করে যেখানে ব্যবহারের ফ্ল্যাগগুলি ভিউ তৈরিতে সাধারণ পরামিতি, অপ্টিমাইজেশানের সুযোগগুলি অফার করে।
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 363903526 দেখুন।
const texture = myDevice.createTexture({
size: [4, 4],
format: "rgba8unorm",
usage:
GPUTextureUsage.RENDER_ATTACHMENT |
GPUTextureUsage.TEXTURE_BINDING |
GPUTextureUsage.STORAGE_BINDING,
viewFormats: ["rgba8unorm-srgb"],
});
const view = texture.createView({
format: 'rgba8unorm-srgb',
usage: GPUTextureUsage.RENDER_ATTACHMENT, // Restrict allowed usage.
});
32-বিট ফ্লোট টেক্সচারের মিশ্রণ
32-বিট ফ্লোটিং-পয়েন্ট টেক্সচার HDR রেন্ডারিংয়ের জন্য প্রয়োজনীয় রঙের মানগুলির একটি বিস্তৃত পরিসর সংরক্ষণ করতে এবং কালার ব্যান্ডিং আর্টিফ্যাক্টগুলি প্রতিরোধ করতে। যেমন বৈজ্ঞানিক দৃশ্যায়নে।
নতুন "float32-blendable"
GPU বৈশিষ্ট্যটি "r32float"
, "rg32float"
এবং "rgba32float"
বিন্যাস সহ GPU টেক্সচারকে মিশ্রিত করে তোলে৷ একটি রেন্ডার পাইপলাইন তৈরি করা যা যেকোনো float32-ফর্ম্যাট সংযুক্তির সাথে মিশ্রন ব্যবহার করে এই বৈশিষ্ট্যটি সহ একটি GPU ডিভাইসের অনুরোধ করার সময় এখন সম্ভব৷
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 369649348 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("float32-blendable")) {
throw new Error("32-bit float textures blending support is not available");
}
// Explicitly request 32-bit float textures blending support.
const device = await adapter.requestDevice({
requiredFeatures: ["float32-blendable"],
});
// ... Creation of shader modules is omitted for readability.
// Create a render pipeline that uses blending for the rgba32float format.
device.createRenderPipeline({
vertex: { module: myVertexShaderModule },
fragment: {
module: myFragmentShaderModule,
targets: [
{
format: "rgba32float",
blend: { color: {}, alpha: {} },
},
],
},
layout: "auto",
});
// Create the GPU texture with rgba32float format and
// send the appropriate commands to the GPU...
GPUDevice adapterInfo
বৈশিষ্ট্য
এটি লাইব্রেরিগুলির জন্য গুরুত্বপূর্ণ যেগুলি প্রকৃত GPU সম্পর্কে তথ্য অ্যাক্সেস করতে ব্যবহারকারী-প্রদত্ত GPUDevice
অবজেক্টগুলি গ্রহণ করে, কারণ তাদের GPU আর্কিটেকচারের উপর ভিত্তি করে অপ্টিমাইজ বা কার্যকর করার প্রয়োজন হতে পারে। যদিও GPUAdapter
অবজেক্টের মাধ্যমে এই তথ্য অ্যাক্সেস করা সম্ভব, শুধুমাত্র GPUDevice
থেকে এটি পাওয়ার কোনো সরাসরি উপায় নেই। এটি অসুবিধাজনক হতে পারে, কারণ এতে ব্যবহারকারীদের GPUDevice
পাশাপাশি অতিরিক্ত তথ্য প্রদানের প্রয়োজন হতে পারে।
এই সমস্যা সমাধানের জন্য, GPUAdapterInfo
এখন GPUDevice
adapterInfo
বৈশিষ্ট্যের মাধ্যমে উন্মুক্ত করা হয়েছে। এগুলি বিদ্যমান GPUAdapter
info
বৈশিষ্ট্যের অনুরূপ।
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 376600838 দেখুন।
function optimizeForGpuDevice(device) {
if (device.adapterInfo.vendor === "amd") {
// Use AMD-specific optimizations.
} else if (device.adapterInfo.architecture.includes("turing")) {
// Optimize for NVIDIA Turing architecture.
}
}
অবৈধ বিন্যাসের সাথে ক্যানভাস প্রসঙ্গ কনফিগার করা জাভাস্ক্রিপ্ট ত্রুটি থ্রো
পূর্বে, জিপিইউ ক্যানভাস প্রসঙ্গের configure()
পদ্ধতির সাথে একটি অবৈধ টেক্সচার বিন্যাস ব্যবহার করার ফলে একটি GPU বৈধতা ত্রুটি দেখা দেয়। এটি একটি JavaScript TypeError
নিক্ষেপ করার জন্য পরিবর্তন করা হয়েছে। এটি এমন পরিস্থিতিতে বাধা দেয় যেখানে GPU ক্যানভাস প্রসঙ্গ ভুলভাবে কনফিগার করা সত্ত্বেও getCurrentTexture()
একটি বৈধ GPU টেক্সচার প্রদান করে। আরও তথ্য 372837859 ইস্যুতে পাওয়া যাবে।
টেক্সচারের উপর নমুনা সীমাবদ্ধতা ফিল্টারিং
ফিল্টারিং নমুনা সহ "sint"
, "uint"
, এবং " depth"
বিন্যাস টেক্সচার ব্যবহার করার আগে অনুমতি দেওয়া হয়েছিল। এটি এখন সঠিকভাবে একটি ফিল্টারিং স্যাম্পলারের সাথে একটি "sint"
বা "uint"
বিন্যাস টেক্সচার ব্যবহার করার অনুমতি দেয় না। মনে রাখবেন যে এটি বর্তমানে একটি সতর্কতা নির্গত করে যদি আপনি একটি ফিল্টারিং স্যাম্পলারের সাথে একটি " depth"
টেক্সচার ব্যবহার করেন কারণ এটি ভবিষ্যতে অননুমোদিত হবে। সংখ্যা 376497143 দেখুন।
এই বিধিনিষেধগুলির অর্থ হল একটি নন-ফিল্টারিং স্যাম্পলারের সাথে একটি গভীরতার টেক্সচার ব্যবহার করার জন্য বাইন্ড গ্রুপ লেআউটগুলির ম্যানুয়াল তৈরির প্রয়োজন। কারণ "স্বয়ংক্রিয়" তৈরি করা বাইন্ড গ্রুপ লেআউটগুলি এখনও এই সংমিশ্রণটিকে সমর্থন করে না৷ স্পেক ইস্যু 4952 ভবিষ্যতে এই সীমাবদ্ধতা মোকাবেলার জন্য বিবেচনাধীন একটি প্রস্তাব রয়েছে।
বর্ধিত সাবগ্রুপ পরীক্ষা
সাবগ্রুপ পরীক্ষা , প্রাথমিকভাবে Chrome 131-এ শেষ হতে সেট করা হয়েছে, Chrome 133-এ প্রসারিত করা হয়েছে, 16 এপ্রিল, 2025-এ সমাপ্ত হয়েছে। প্রথম অরিজিন ট্রায়াল কর্মক্ষমতার উপর দৃষ্টি নিবদ্ধ করলেও, এতে গুরুত্বপূর্ণ বহনযোগ্যতা সুরক্ষার অভাব ছিল। এই সুরক্ষাগুলি এখন যোগ করা হবে, সম্ভাব্যভাবে বিদ্যমান কোডে ত্রুটি সৃষ্টি করবে।
বিকাশকারীর অভিজ্ঞতা উন্নত করা
একটি সতর্কতা এখন DevTools-এ দৃশ্যমান হয় যখন Windows-এ requestAdapter()
এর সাথে powerPreference
বিকল্প ব্যবহার করা হয়। Chrome যখন দুটি ভিন্ন GPU ব্যবহার করতে এবং তাদের মধ্যে ফলাফলগুলিকে সংমিশ্রণ করতে জানে তখন এই সতর্কতাটি সরানো হবে৷ সংখ্যা 369219127 দেখুন।
খুব বড় একটি GPU বাফার তৈরি করার সময় GPU বাফারের আকার এখন ত্রুটি বার্তায় উপস্থিত থাকে। সংখ্যা 374167798 দেখুন।
16-বিট স্বাভাবিক টেক্সচার ফরম্যাটের জন্য পরীক্ষামূলক সমর্থন
16-বিট স্বাক্ষরিত স্বাভাবিকীকৃত এবং স্বাক্ষরবিহীন স্বাভাবিক টেক্সচার ফরম্যাটগুলি এখন পরীক্ষামূলকভাবে "chromium-experimental-snorm16-texture-formats"
এবং "chromium-experimental-unorm16-texture-formats"
GPU বৈশিষ্ট্যগুলির পিছনে উপলব্ধ রয়েছে যখন সেগুলিকে প্রমিতকরণের জন্য আলোচনা করা হচ্ছে৷
এই বৈশিষ্ট্যগুলি COPY_SRC
, COPY_DST
, TEXTURE_BINDING
, RENDER_ATTACHMENT
ব্যবহার, মাল্টিস্যাম্পলিং এবং সমাধান করার ক্ষমতা সহ 16-বিট স্বাভাবিক টেক্সচার ফর্ম্যাটের জন্য সমর্থন যোগ করে৷ অতিরিক্ত ফর্ম্যাটগুলি হল "r16unorm"
, "rg16unorm"
, "rgba16unorm"
, "r16snorm"
, "rg16snorm"
, এবং "rgba16snorm"
।
যতক্ষণ না এই পরীক্ষামূলক বৈশিষ্ট্যগুলিকে প্রমিত করা হয়, ততক্ষণ chrome://flags/#enable-unsafe-webgpu
এ "অনিরাপদ ওয়েবজিপিইউ সমর্থন" ফ্ল্যাগটিকে Chrome-এ উপলব্ধ করতে সক্ষম করুন৷
নিম্নলিখিত স্নিপেট এবং ইস্যু 374790898 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("chromium-experimental-snorm16-texture-formats")) {
throw new Error("16-bit signed normalized formats support is not available");
}
// Explicitly request 16-bit signed normalized formats support.
const device = await adapter.requestDevice({
requiredFeatures: ["chromium-experimental-snorm16-texture-formats"],
});
// Create a texture with the rgba16snorm format which consists of four
// components, each of which is a 16-bit, normalized, signed integer value.
const texture = device.createTexture({
size: [4, 4],
format: "rgba16snorm",
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
});
// Send the appropriate commands to the GPU...
ভোরের আপডেট
wgpu::Adapter
এবং wgpu::Device
থেকে EnumerateFeatures(FeatureName * features)
পদ্ধতিগুলি GetFeatures(SupportedFeatures * features)
ব্যবহারের পক্ষে অবমূল্যায়িত হয়েছে। সংখ্যা 368672123 দেখুন।
webgpu.h C API সমস্ত char const *
একটি WGPUStringView
কাঠামোতে পরিবর্তন করেছে যা একটি ভিউকে UTF-8 এনকোডেড স্ট্রিং-এ সংজ্ঞায়িত করে। এটি একটি দৈর্ঘ্যের সাথে মিলিত স্ট্রিং এর ডেটাতে একটি নির্দেশকের মত কাজ করে। এটি আপনাকে একটি স্ট্রিংয়ের অংশগুলিকে অনুলিপি করার প্রয়োজন ছাড়াই কাজ করতে দেয়। সংখ্যা 42241188 দেখুন।
এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।
WebGPU-তে নতুন কি আছে
ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।
ক্রোম 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 আপডেট
- ভোরের আপডেট
ক্রোম 113
,প্রকাশিত: 8 জানুয়ারী, 2025
টেক্সচার ভিউ ব্যবহার
GPU টেক্সচার ভিউ বর্তমানে তাদের সোর্স GPU টেক্সচার থেকে সমস্ত ব্যবহারের পতাকা উত্তরাধিকারসূত্রে পায়। এটি সমস্যাযুক্ত হতে পারে কারণ কিছু ভিউ ফরম্যাট নির্দিষ্ট ব্যবহারের সাথে বেমানান। এই সমস্যাটির সমাধান করার জন্য, ঐচ্ছিক usage
সদস্যের সাথে createView()
কল করা আপনাকে স্পষ্টভাবে সোর্স টেক্সচারের ব্যবহার ফ্ল্যাগের একটি উপসেট নির্দিষ্ট করতে দেয় যা নির্বাচিত ভিউ ফরম্যাটের সাথে সামঞ্জস্যপূর্ণ।
এই পরিবর্তনটি আগাম যাচাইকরণ এবং ভিউটি কীভাবে ব্যবহার করা হয় তার উপর আরও সূক্ষ্ম নিয়ন্ত্রণের অনুমতি দেয়। এটি অন্যান্য গ্রাফিক্স API-এর সাথেও সারিবদ্ধ করে যেখানে ব্যবহারের ফ্ল্যাগগুলি ভিউ তৈরিতে সাধারণ পরামিতি, অপ্টিমাইজেশানের সুযোগগুলি অফার করে।
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 363903526 দেখুন।
const texture = myDevice.createTexture({
size: [4, 4],
format: "rgba8unorm",
usage:
GPUTextureUsage.RENDER_ATTACHMENT |
GPUTextureUsage.TEXTURE_BINDING |
GPUTextureUsage.STORAGE_BINDING,
viewFormats: ["rgba8unorm-srgb"],
});
const view = texture.createView({
format: 'rgba8unorm-srgb',
usage: GPUTextureUsage.RENDER_ATTACHMENT, // Restrict allowed usage.
});
32-বিট ফ্লোট টেক্সচারের মিশ্রণ
32-বিট ফ্লোটিং-পয়েন্ট টেক্সচার HDR রেন্ডারিংয়ের জন্য প্রয়োজনীয় রঙের মানগুলির একটি বিস্তৃত পরিসর সংরক্ষণ করতে এবং কালার ব্যান্ডিং আর্টিফ্যাক্টগুলি প্রতিরোধ করতে। যেমন বৈজ্ঞানিক দৃশ্যায়নে।
নতুন "float32-blendable"
GPU বৈশিষ্ট্যটি "r32float"
, "rg32float"
এবং "rgba32float"
বিন্যাস সহ GPU টেক্সচারকে মিশ্রিত করে তোলে৷ একটি রেন্ডার পাইপলাইন তৈরি করা যা যেকোনো float32-ফর্ম্যাট সংযুক্তির সাথে মিশ্রন ব্যবহার করে এই বৈশিষ্ট্যটি সহ একটি GPU ডিভাইসের অনুরোধ করার সময় এখন সম্ভব৷
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 369649348 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("float32-blendable")) {
throw new Error("32-bit float textures blending support is not available");
}
// Explicitly request 32-bit float textures blending support.
const device = await adapter.requestDevice({
requiredFeatures: ["float32-blendable"],
});
// ... Creation of shader modules is omitted for readability.
// Create a render pipeline that uses blending for the rgba32float format.
device.createRenderPipeline({
vertex: { module: myVertexShaderModule },
fragment: {
module: myFragmentShaderModule,
targets: [
{
format: "rgba32float",
blend: { color: {}, alpha: {} },
},
],
},
layout: "auto",
});
// Create the GPU texture with rgba32float format and
// send the appropriate commands to the GPU...
GPUDevice adapterInfo
বৈশিষ্ট্য
এটি লাইব্রেরিগুলির জন্য গুরুত্বপূর্ণ যেগুলি প্রকৃত GPU সম্পর্কে তথ্য অ্যাক্সেস করতে ব্যবহারকারী-প্রদত্ত GPUDevice
অবজেক্টগুলি গ্রহণ করে, কারণ তাদের GPU আর্কিটেকচারের উপর ভিত্তি করে অপ্টিমাইজ বা কার্যকর করার প্রয়োজন হতে পারে। যদিও GPUAdapter
অবজেক্টের মাধ্যমে এই তথ্য অ্যাক্সেস করা সম্ভব, শুধুমাত্র GPUDevice
থেকে এটি পাওয়ার কোনো সরাসরি উপায় নেই। এটি অসুবিধাজনক হতে পারে, কারণ এতে ব্যবহারকারীদের GPUDevice
পাশাপাশি অতিরিক্ত তথ্য প্রদানের প্রয়োজন হতে পারে।
এই সমস্যা সমাধানের জন্য, GPUAdapterInfo
এখন GPUDevice
adapterInfo
বৈশিষ্ট্যের মাধ্যমে উন্মুক্ত করা হয়েছে। এগুলি বিদ্যমান GPUAdapter
info
বৈশিষ্ট্যের অনুরূপ।
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 376600838 দেখুন।
function optimizeForGpuDevice(device) {
if (device.adapterInfo.vendor === "amd") {
// Use AMD-specific optimizations.
} else if (device.adapterInfo.architecture.includes("turing")) {
// Optimize for NVIDIA Turing architecture.
}
}
অবৈধ বিন্যাসের সাথে ক্যানভাস প্রসঙ্গ কনফিগার করা জাভাস্ক্রিপ্ট ত্রুটি থ্রো
পূর্বে, জিপিইউ ক্যানভাস প্রসঙ্গের configure()
পদ্ধতির সাথে একটি অবৈধ টেক্সচার বিন্যাস ব্যবহার করার ফলে একটি GPU বৈধতা ত্রুটি দেখা দেয়। এটি একটি JavaScript TypeError
নিক্ষেপ করার জন্য পরিবর্তন করা হয়েছে। এটি এমন পরিস্থিতিতে বাধা দেয় যেখানে GPU ক্যানভাস প্রসঙ্গ ভুলভাবে কনফিগার করা সত্ত্বেও getCurrentTexture()
একটি বৈধ GPU টেক্সচার প্রদান করে। আরও তথ্য 372837859 ইস্যুতে পাওয়া যাবে।
টেক্সচারের উপর নমুনা সীমাবদ্ধতা ফিল্টারিং
ফিল্টারিং নমুনা সহ "sint"
, "uint"
, এবং " depth"
বিন্যাস টেক্সচার ব্যবহার করার আগে অনুমতি দেওয়া হয়েছিল। এটি এখন সঠিকভাবে একটি ফিল্টারিং স্যাম্পলারের সাথে একটি "sint"
বা "uint"
বিন্যাস টেক্সচার ব্যবহার করার অনুমতি দেয় না। মনে রাখবেন যে এটি বর্তমানে একটি সতর্কতা নির্গত করে যদি আপনি একটি ফিল্টারিং স্যাম্পলারের সাথে একটি " depth"
টেক্সচার ব্যবহার করেন কারণ এটি ভবিষ্যতে অননুমোদিত হবে। সংখ্যা 376497143 দেখুন।
এই বিধিনিষেধগুলির অর্থ হল একটি নন-ফিল্টারিং স্যাম্পলারের সাথে একটি গভীরতার টেক্সচার ব্যবহার করার জন্য বাইন্ড গ্রুপ লেআউটগুলির ম্যানুয়াল তৈরির প্রয়োজন। কারণ "স্বয়ংক্রিয়" তৈরি করা বাইন্ড গ্রুপ লেআউটগুলি এখনও এই সংমিশ্রণটিকে সমর্থন করে না৷ স্পেক ইস্যু 4952 ভবিষ্যতে এই সীমাবদ্ধতা মোকাবেলার জন্য বিবেচনাধীন একটি প্রস্তাব রয়েছে।
বর্ধিত সাবগ্রুপ পরীক্ষা
সাবগ্রুপ পরীক্ষা , প্রাথমিকভাবে Chrome 131-এ শেষ হতে সেট করা হয়েছে, Chrome 133-এ প্রসারিত করা হয়েছে, 16 এপ্রিল, 2025-এ সমাপ্ত হয়েছে। প্রথম অরিজিন ট্রায়াল কর্মক্ষমতার উপর দৃষ্টি নিবদ্ধ করলেও, এতে গুরুত্বপূর্ণ বহনযোগ্যতা সুরক্ষার অভাব ছিল। এই সুরক্ষাগুলি এখন যোগ করা হবে, সম্ভাব্যভাবে বিদ্যমান কোডে ত্রুটি সৃষ্টি করবে।
বিকাশকারীর অভিজ্ঞতা উন্নত করা
একটি সতর্কতা এখন DevTools-এ দৃশ্যমান হয় যখন Windows-এ requestAdapter()
এর সাথে powerPreference
বিকল্প ব্যবহার করা হয়। Chrome যখন দুটি ভিন্ন GPU ব্যবহার করতে এবং তাদের মধ্যে ফলাফলগুলিকে সংমিশ্রণ করতে জানে তখন এই সতর্কতাটি সরানো হবে৷ সংখ্যা 369219127 দেখুন।
খুব বড় একটি GPU বাফার তৈরি করার সময় GPU বাফারের আকার এখন ত্রুটি বার্তায় উপস্থিত থাকে। সংখ্যা 374167798 দেখুন।
16-বিট স্বাভাবিক টেক্সচার ফরম্যাটের জন্য পরীক্ষামূলক সমর্থন
16-বিট স্বাক্ষরিত স্বাভাবিকীকৃত এবং স্বাক্ষরবিহীন স্বাভাবিক টেক্সচার ফরম্যাটগুলি এখন পরীক্ষামূলকভাবে "chromium-experimental-snorm16-texture-formats"
এবং "chromium-experimental-unorm16-texture-formats"
GPU বৈশিষ্ট্যগুলির পিছনে উপলব্ধ রয়েছে যখন সেগুলিকে প্রমিতকরণের জন্য আলোচনা করা হচ্ছে৷
এই বৈশিষ্ট্যগুলি COPY_SRC
, COPY_DST
, TEXTURE_BINDING
, RENDER_ATTACHMENT
ব্যবহার, মাল্টিস্যাম্পলিং এবং সমাধান করার ক্ষমতা সহ 16-বিট স্বাভাবিক টেক্সচার ফর্ম্যাটের জন্য সমর্থন যোগ করে৷ অতিরিক্ত ফর্ম্যাটগুলি হল "r16unorm"
, "rg16unorm"
, "rgba16unorm"
, "r16snorm"
, "rg16snorm"
, এবং "rgba16snorm"
।
যতক্ষণ না এই পরীক্ষামূলক বৈশিষ্ট্যগুলিকে প্রমিত করা হয়, ততক্ষণ chrome://flags/#enable-unsafe-webgpu
এ "অনিরাপদ ওয়েবজিপিইউ সমর্থন" ফ্ল্যাগটিকে Chrome-এ উপলব্ধ করতে সক্ষম করুন৷
নিম্নলিখিত স্নিপেট এবং ইস্যু 374790898 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("chromium-experimental-snorm16-texture-formats")) {
throw new Error("16-bit signed normalized formats support is not available");
}
// Explicitly request 16-bit signed normalized formats support.
const device = await adapter.requestDevice({
requiredFeatures: ["chromium-experimental-snorm16-texture-formats"],
});
// Create a texture with the rgba16snorm format which consists of four
// components, each of which is a 16-bit, normalized, signed integer value.
const texture = device.createTexture({
size: [4, 4],
format: "rgba16snorm",
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
});
// Send the appropriate commands to the GPU...
ভোরের আপডেট
wgpu::Adapter
এবং wgpu::Device
থেকে EnumerateFeatures(FeatureName * features)
পদ্ধতিগুলি GetFeatures(SupportedFeatures * features)
ব্যবহারের পক্ষে অবমূল্যায়িত হয়েছে। সংখ্যা 368672123 দেখুন।
webgpu.h C API সমস্ত char const *
একটি WGPUStringView
কাঠামোতে পরিবর্তন করেছে যা একটি ভিউকে UTF-8 এনকোডেড স্ট্রিং-এ সংজ্ঞায়িত করে। এটি একটি দৈর্ঘ্যের সাথে মিলিত স্ট্রিং এর ডেটাতে একটি নির্দেশকের মত কাজ করে। এটি আপনাকে একটি স্ট্রিংয়ের অংশগুলিকে অনুলিপি করার প্রয়োজন ছাড়াই কাজ করতে দেয়। সংখ্যা 42241188 দেখুন।
এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।
WebGPU-তে নতুন কি আছে
ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।
ক্রোম 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 আপডেট
- ভোরের আপডেট
ক্রোম 113
,প্রকাশিত: 8 জানুয়ারী, 2025
টেক্সচার ভিউ ব্যবহার
GPU টেক্সচার ভিউ বর্তমানে তাদের সোর্স GPU টেক্সচার থেকে সমস্ত ব্যবহারের পতাকা উত্তরাধিকারসূত্রে পায়। এটি সমস্যাযুক্ত হতে পারে কারণ কিছু ভিউ ফরম্যাট নির্দিষ্ট ব্যবহারের সাথে বেমানান। এই সমস্যাটির সমাধান করার জন্য, ঐচ্ছিক usage
সদস্যের সাথে createView()
কল করা আপনাকে স্পষ্টভাবে সোর্স টেক্সচারের ব্যবহার ফ্ল্যাগের একটি উপসেট নির্দিষ্ট করতে দেয় যা নির্বাচিত ভিউ ফরম্যাটের সাথে সামঞ্জস্যপূর্ণ।
এই পরিবর্তনটি আগাম যাচাইকরণ এবং ভিউটি কীভাবে ব্যবহার করা হয় তার উপর আরও সূক্ষ্ম নিয়ন্ত্রণের অনুমতি দেয়। এটি অন্যান্য গ্রাফিক্স API-এর সাথেও সারিবদ্ধ করে যেখানে ব্যবহারের ফ্ল্যাগগুলি ভিউ তৈরিতে সাধারণ পরামিতি, অপ্টিমাইজেশানের সুযোগগুলি অফার করে।
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 363903526 দেখুন।
const texture = myDevice.createTexture({
size: [4, 4],
format: "rgba8unorm",
usage:
GPUTextureUsage.RENDER_ATTACHMENT |
GPUTextureUsage.TEXTURE_BINDING |
GPUTextureUsage.STORAGE_BINDING,
viewFormats: ["rgba8unorm-srgb"],
});
const view = texture.createView({
format: 'rgba8unorm-srgb',
usage: GPUTextureUsage.RENDER_ATTACHMENT, // Restrict allowed usage.
});
32-বিট ফ্লোট টেক্সচারের মিশ্রণ
32-বিট ফ্লোটিং-পয়েন্ট টেক্সচার HDR রেন্ডারিংয়ের জন্য প্রয়োজনীয় রঙের মানগুলির একটি বিস্তৃত পরিসর সংরক্ষণ করতে এবং কালার ব্যান্ডিং আর্টিফ্যাক্টগুলি প্রতিরোধ করতে। যেমন বৈজ্ঞানিক দৃশ্যায়নে।
নতুন "float32-blendable"
GPU বৈশিষ্ট্যটি "r32float"
, "rg32float"
এবং "rgba32float"
বিন্যাস সহ GPU টেক্সচারকে মিশ্রিত করে তোলে৷ একটি রেন্ডার পাইপলাইন তৈরি করা যা যেকোনো float32-ফর্ম্যাট সংযুক্তির সাথে মিশ্রন ব্যবহার করে এই বৈশিষ্ট্যটি সহ একটি GPU ডিভাইসের অনুরোধ করার সময় এখন সম্ভব৷
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 369649348 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("float32-blendable")) {
throw new Error("32-bit float textures blending support is not available");
}
// Explicitly request 32-bit float textures blending support.
const device = await adapter.requestDevice({
requiredFeatures: ["float32-blendable"],
});
// ... Creation of shader modules is omitted for readability.
// Create a render pipeline that uses blending for the rgba32float format.
device.createRenderPipeline({
vertex: { module: myVertexShaderModule },
fragment: {
module: myFragmentShaderModule,
targets: [
{
format: "rgba32float",
blend: { color: {}, alpha: {} },
},
],
},
layout: "auto",
});
// Create the GPU texture with rgba32float format and
// send the appropriate commands to the GPU...
GPUDevice adapterInfo
বৈশিষ্ট্য
এটি লাইব্রেরিগুলির জন্য গুরুত্বপূর্ণ যেগুলি প্রকৃত GPU সম্পর্কে তথ্য অ্যাক্সেস করতে ব্যবহারকারী-প্রদত্ত GPUDevice
অবজেক্টগুলি গ্রহণ করে, কারণ তাদের GPU আর্কিটেকচারের উপর ভিত্তি করে অপ্টিমাইজ বা কার্যকর করার প্রয়োজন হতে পারে। যদিও GPUAdapter
অবজেক্টের মাধ্যমে এই তথ্য অ্যাক্সেস করা সম্ভব, শুধুমাত্র GPUDevice
থেকে এটি পাওয়ার কোনো সরাসরি উপায় নেই। এটি অসুবিধাজনক হতে পারে, কারণ এতে ব্যবহারকারীদের GPUDevice
পাশাপাশি অতিরিক্ত তথ্য প্রদানের প্রয়োজন হতে পারে।
এই সমস্যা সমাধানের জন্য, GPUAdapterInfo
এখন GPUDevice
adapterInfo
বৈশিষ্ট্যের মাধ্যমে উন্মুক্ত করা হয়েছে। এগুলি বিদ্যমান GPUAdapter
info
বৈশিষ্ট্যের অনুরূপ।
নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 376600838 দেখুন।
function optimizeForGpuDevice(device) {
if (device.adapterInfo.vendor === "amd") {
// Use AMD-specific optimizations.
} else if (device.adapterInfo.architecture.includes("turing")) {
// Optimize for NVIDIA Turing architecture.
}
}
অবৈধ বিন্যাসের সাথে ক্যানভাস প্রসঙ্গ কনফিগার করা জাভাস্ক্রিপ্ট ত্রুটি থ্রো
পূর্বে, জিপিইউ ক্যানভাস প্রসঙ্গের configure()
পদ্ধতির সাথে একটি অবৈধ টেক্সচার বিন্যাস ব্যবহার করার ফলে একটি GPU বৈধতা ত্রুটি দেখা দেয়। এটি একটি JavaScript TypeError
নিক্ষেপ করার জন্য পরিবর্তন করা হয়েছে। এটি এমন পরিস্থিতিতে বাধা দেয় যেখানে GPU ক্যানভাস প্রসঙ্গ ভুলভাবে কনফিগার করা সত্ত্বেও getCurrentTexture()
একটি বৈধ GPU টেক্সচার প্রদান করে। আরও তথ্য 372837859 ইস্যুতে পাওয়া যাবে।
টেক্সচারের উপর নমুনা সীমাবদ্ধতা ফিল্টারিং
ফিল্টারিং নমুনা সহ "sint"
, "uint"
, এবং " depth"
বিন্যাস টেক্সচার ব্যবহার করার আগে অনুমতি দেওয়া হয়েছিল। এটি এখন সঠিকভাবে একটি ফিল্টারিং স্যাম্পলারের সাথে একটি "sint"
বা "uint"
বিন্যাস টেক্সচার ব্যবহার করার অনুমতি দেয় না। মনে রাখবেন যে এটি বর্তমানে একটি সতর্কতা নির্গত করে যদি আপনি একটি ফিল্টারিং স্যাম্পলারের সাথে একটি " depth"
টেক্সচার ব্যবহার করেন কারণ এটি ভবিষ্যতে অননুমোদিত হবে। সংখ্যা 376497143 দেখুন।
এই বিধিনিষেধগুলির অর্থ হল একটি নন-ফিল্টারিং স্যাম্পলারের সাথে একটি গভীরতার টেক্সচার ব্যবহার করার জন্য বাইন্ড গ্রুপ লেআউটগুলির ম্যানুয়াল তৈরির প্রয়োজন। কারণ "স্বয়ংক্রিয়" তৈরি করা বাইন্ড গ্রুপ লেআউটগুলি এখনও এই সংমিশ্রণটিকে সমর্থন করে না৷ স্পেক ইস্যু 4952 ভবিষ্যতে এই সীমাবদ্ধতা মোকাবেলার জন্য বিবেচনাধীন একটি প্রস্তাব রয়েছে।
বর্ধিত সাবগ্রুপ পরীক্ষা
সাবগ্রুপ পরীক্ষা , প্রাথমিকভাবে Chrome 131-এ শেষ হতে সেট করা হয়েছে, Chrome 133-এ প্রসারিত করা হয়েছে, 16 এপ্রিল, 2025-এ সমাপ্ত হয়েছে। প্রথম অরিজিন ট্রায়াল কর্মক্ষমতার উপর দৃষ্টি নিবদ্ধ করলেও, এতে গুরুত্বপূর্ণ বহনযোগ্যতা সুরক্ষার অভাব ছিল। এই সুরক্ষাগুলি এখন যোগ করা হবে, সম্ভাব্যভাবে বিদ্যমান কোডে ত্রুটি সৃষ্টি করবে।
বিকাশকারীর অভিজ্ঞতা উন্নত করা
একটি সতর্কতা এখন DevTools-এ দৃশ্যমান হয় যখন Windows-এ requestAdapter()
এর সাথে powerPreference
বিকল্প ব্যবহার করা হয়। Chrome যখন দুটি ভিন্ন GPU ব্যবহার করতে এবং তাদের মধ্যে ফলাফলগুলিকে সংমিশ্রণ করতে জানে তখন এই সতর্কতাটি সরানো হবে৷ সংখ্যা 369219127 দেখুন।
খুব বড় একটি GPU বাফার তৈরি করার সময় GPU বাফারের আকার এখন ত্রুটি বার্তায় উপস্থিত থাকে। সংখ্যা 374167798 দেখুন।
16-বিট স্বাভাবিক টেক্সচার ফরম্যাটের জন্য পরীক্ষামূলক সমর্থন
16-বিট স্বাক্ষরিত স্বাভাবিকীকৃত এবং স্বাক্ষরবিহীন স্বাভাবিক টেক্সচার ফরম্যাটগুলি এখন পরীক্ষামূলকভাবে "chromium-experimental-snorm16-texture-formats"
এবং "chromium-experimental-unorm16-texture-formats"
GPU বৈশিষ্ট্যগুলির পিছনে উপলব্ধ রয়েছে যখন সেগুলিকে প্রমিতকরণের জন্য আলোচনা করা হচ্ছে৷
এই বৈশিষ্ট্যগুলি COPY_SRC
, COPY_DST
, TEXTURE_BINDING
, RENDER_ATTACHMENT
ব্যবহার, মাল্টিস্যাম্পলিং এবং সমাধান করার ক্ষমতা সহ 16-বিট স্বাভাবিক টেক্সচার ফর্ম্যাটের জন্য সমর্থন যোগ করে৷ অতিরিক্ত ফর্ম্যাটগুলি হল "r16unorm"
, "rg16unorm"
, "rgba16unorm"
, "r16snorm"
, "rg16snorm"
, এবং "rgba16snorm"
।
যতক্ষণ না এই পরীক্ষামূলক বৈশিষ্ট্যগুলিকে প্রমিত করা হয়, ততক্ষণ chrome://flags/#enable-unsafe-webgpu
এ "অনিরাপদ ওয়েবজিপিইউ সমর্থন" ফ্ল্যাগটিকে Chrome-এ উপলব্ধ করতে সক্ষম করুন৷
নিম্নলিখিত স্নিপেট এবং ইস্যু 374790898 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("chromium-experimental-snorm16-texture-formats")) {
throw new Error("16-bit signed normalized formats support is not available");
}
// Explicitly request 16-bit signed normalized formats support.
const device = await adapter.requestDevice({
requiredFeatures: ["chromium-experimental-snorm16-texture-formats"],
});
// Create a texture with the rgba16snorm format which consists of four
// components, each of which is a 16-bit, normalized, signed integer value.
const texture = device.createTexture({
size: [4, 4],
format: "rgba16snorm",
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
});
// Send the appropriate commands to the GPU...
ভোরের আপডেট
wgpu::Adapter
এবং wgpu::Device
থেকে EnumerateFeatures(FeatureName * features)
পদ্ধতিগুলি GetFeatures(SupportedFeatures * features)
ব্যবহারের পক্ষে অবমূল্যায়িত হয়েছে। সংখ্যা 368672123 দেখুন।
webgpu.h C API সমস্ত char const *
একটি WGPUStringView
কাঠামোতে পরিবর্তন করেছে যা একটি ভিউকে UTF-8 এনকোডেড স্ট্রিং-এ সংজ্ঞায়িত করে। এটি একটি দৈর্ঘ্যের সাথে মিলিত স্ট্রিং এর ডেটাতে একটি নির্দেশকের মত কাজ করে। এটি আপনাকে একটি স্ট্রিংয়ের অংশগুলিকে অনুলিপি করার প্রয়োজন ছাড়াই কাজ করতে দেয়। সংখ্যা 42241188 দেখুন।
এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।
WebGPU-তে নতুন কি আছে
ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।
ক্রোম 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 এর জন্য পরীক্ষামূলক সমর্থন
- এসি পাওয়ারে ডিফল্টরূপে পৃথক জিপিইউ পান
- বিকাশকারীদের অভিজ্ঞতা উন্নত করা
- ভোর আপডেট
ক্রোম 114
Chrome 113
,প্রকাশিত: 8 জানুয়ারী, 2025
টেক্সচার দেখুন ব্যবহার
জিপিইউ টেক্সচার ভিউগুলি বর্তমানে তাদের উত্স জিপিইউ টেক্সচার থেকে সমস্ত ব্যবহারের পতাকা উত্তরাধিকারী। এটি সমস্যাযুক্ত হতে পারে কারণ কিছু ভিউ ফর্ম্যাটগুলি নির্দিষ্ট ব্যবহারের সাথে বেমানান। এই সমস্যাটির সমাধানের জন্য, createView()
al চ্ছিক usage
সদস্যের সাথে কল করা আপনাকে উত্স টেক্সচারের ব্যবহারের পতাকাগুলির একটি উপসেটকে স্পষ্টভাবে নির্দিষ্ট করতে দেয় যা নির্বাচিত ভিউ ফর্ম্যাটের সাথে সামঞ্জস্যপূর্ণ।
এই পরিবর্তনটি কীভাবে ব্যবহার করা হয় তার উপর সামনের বৈধতা এবং আরও সূক্ষ্ম-দানা নিয়ন্ত্রণের অনুমতি দেয়। এটি অন্যান্য গ্রাফিক্স এপিআইয়ের সাথেও একত্রিত হয় যেখানে ব্যবহারের পতাকাগুলি দেখতে সাধারণ পরামিতিগুলি তৈরি করে, অপ্টিমাইজেশনের সুযোগগুলি সরবরাহ করে।
নিম্নলিখিত স্নিপেট, ক্রোমস্ট্যাটাস এন্ট্রি এবং 363903526 ইস্যু দেখুন।
const texture = myDevice.createTexture({
size: [4, 4],
format: "rgba8unorm",
usage:
GPUTextureUsage.RENDER_ATTACHMENT |
GPUTextureUsage.TEXTURE_BINDING |
GPUTextureUsage.STORAGE_BINDING,
viewFormats: ["rgba8unorm-srgb"],
});
const view = texture.createView({
format: 'rgba8unorm-srgb',
usage: GPUTextureUsage.RENDER_ATTACHMENT, // Restrict allowed usage.
});
32-বিট ফ্লোট টেক্সচার মিশ্রণ
32-বিট ভাসমান-পয়েন্ট টেক্সচারগুলি বিস্তৃত রঙের মান সংরক্ষণ করতে এবং রঙ ব্যান্ডিং শিল্পকর্মগুলি প্রতিরোধ করতে এইচডিআর রেন্ডারিংয়ের জন্য প্রয়োজনীয়। উদাহরণস্বরূপ বৈজ্ঞানিক ভিজ্যুয়ালাইজেশন।
নতুন "float32-blendable"
জিপিইউ বৈশিষ্ট্যটি "r32float"
, "rg32float"
, এবং "rgba32float"
মিশ্রণযোগ্য ফর্ম্যাটগুলির সাথে জিপিইউ টেক্সচার তৈরি করে। এই বৈশিষ্ট্যটির সাথে জিপিইউ ডিভাইসের অনুরোধ করার সময় যে কোনও ফ্লোট 32-ফর্ম্যাট সংযুক্তির সাথে মিশ্রণ ব্যবহার করে এমন একটি রেন্ডার পাইপলাইন তৈরি করা এখন সম্ভব।
নিম্নলিখিত স্নিপেট, ক্রোমস্ট্যাটাস এন্ট্রি এবং 369649348 ইস্যু দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("float32-blendable")) {
throw new Error("32-bit float textures blending support is not available");
}
// Explicitly request 32-bit float textures blending support.
const device = await adapter.requestDevice({
requiredFeatures: ["float32-blendable"],
});
// ... Creation of shader modules is omitted for readability.
// Create a render pipeline that uses blending for the rgba32float format.
device.createRenderPipeline({
vertex: { module: myVertexShaderModule },
fragment: {
module: myFragmentShaderModule,
targets: [
{
format: "rgba32float",
blend: { color: {}, alpha: {} },
},
],
},
layout: "auto",
});
// Create the GPU texture with rgba32float format and
// send the appropriate commands to the GPU...
Gpudevice adapterInfo
বৈশিষ্ট্য
শারীরিক জিপিইউ সম্পর্কিত তথ্য অ্যাক্সেস করার জন্য ব্যবহারকারী-সরবরাহিত GPUDevice
অবজেক্টগুলিকে গ্রহণ করে এমন গ্রন্থাগারগুলির জন্য এটি গুরুত্বপূর্ণ, কারণ তাদের জিপিইউ আর্কিটেকচারের ভিত্তিতে ওয়ার্কআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআর যদিও GPUAdapter
অবজেক্টের মাধ্যমে এই তথ্য অ্যাক্সেস করা সম্ভব, তবে এটি একা GPUDevice
থেকে পাওয়ার কোনও সরাসরি উপায় নেই। এটি অসুবিধে হতে পারে, কারণ এটি ব্যবহারকারীদের GPUDevice
পাশাপাশি অতিরিক্ত তথ্য সরবরাহ করার প্রয়োজন হতে পারে।
এই সমস্যাটির সমাধানের জন্য, GPUAdapterInfo
এখন GPUDevice
adapterInfo
বৈশিষ্ট্যের মাধ্যমে উন্মুক্ত। এগুলি বিদ্যমান GPUAdapter
info
বৈশিষ্ট্যের অনুরূপ।
নিম্নলিখিত স্নিপেট, ক্রোমস্ট্যাটাস এন্ট্রি এবং 376600838 ইস্যু দেখুন।
function optimizeForGpuDevice(device) {
if (device.adapterInfo.vendor === "amd") {
// Use AMD-specific optimizations.
} else if (device.adapterInfo.architecture.includes("turing")) {
// Optimize for NVIDIA Turing architecture.
}
}
অবৈধ ফর্ম্যাট দিয়ে ক্যানভাস প্রসঙ্গটি কনফিগার করা জাভাস্ক্রিপ্ট ত্রুটি
পূর্বে, জিপিইউ ক্যানভাস প্রসঙ্গের configure()
পদ্ধতি সহ একটি অবৈধ টেক্সচার ফর্ম্যাট ব্যবহার করে একটি জিপিইউ বৈধতা ত্রুটি তৈরি হয়েছিল। এটি একটি জাভাস্ক্রিপ্ট TypeError
নিক্ষেপ করতে পরিবর্তন করা হয়েছে। এটি জিপিইউ ক্যানভাস প্রসঙ্গটি ভুলভাবে কনফিগার করা সত্ত্বেও একটি বৈধ জিপিইউ টেক্সচার ফেরত দেয় এমন পরিস্থিতিগুলিকে বাধা দেয় getCurrentTexture()
আরও তথ্য 372837859 ইস্যুতে পাওয়া যাবে।
টেক্সচারে নমুনা বিধিনিষেধ ফিল্টারিং
ফিল্টারিং নমুনা সহ "sint"
, "uint"
এবং " depth"
ফর্ম্যাট টেক্সচার ব্যবহার করে আগে অনুমোদিত ছিল। এটি এখন ফিল্টারিং স্যাম্পলার সহ একটি "sint"
বা "uint"
ফর্ম্যাট টেক্সচার ব্যবহার করে সঠিকভাবে অস্বীকার করে। মনে রাখবেন যে আপনি যদি ফিল্টারিং স্যাম্পেলারের সাথে " depth"
টেক্সচারটি ব্যবহার করেন তবে ভবিষ্যতে এটি বাতিল করা হবে বলে এটি বর্তমানে একটি সতর্কতা নির্গত করে। সংখ্যা 376497143 দেখুন।
এই বিধিনিষেধগুলির অর্থ একটি ফিল্টারিং স্যাম্পলারের সাথে গভীরতার টেক্সচার ব্যবহার করার জন্য বাইন্ড গ্রুপ লেআউটগুলির ম্যানুয়াল তৈরি প্রয়োজন। এটি কারণ "অটো" উত্পন্ন বাইন্ড গ্রুপ লেআউটগুলি এখনও এই সংমিশ্রণটিকে সমর্থন করে না। স্পেক ইস্যু 4952 ভবিষ্যতে এই সীমাবদ্ধতা সমাধানের জন্য বিবেচনাধীন একটি প্রস্তাব রয়েছে।
বর্ধিত উপগোষ্ঠী পরীক্ষা
প্রাথমিকভাবে ক্রোম 131 -এ শেষ হওয়ার জন্য উপগোষ্ঠী পরীক্ষাগুলি ক্রোম 133 এ প্রসারিত করা হয়েছে, এটি 16 এপ্রিল, 2025 -এ শেষ হয়েছে। যদিও প্রথম উত্সের পরীক্ষায় পারফরম্যান্সের উপর দৃষ্টি নিবদ্ধ করা হয়েছে, এতে গুরুত্বপূর্ণ বহনযোগ্যতা সুরক্ষার অভাব ছিল। এই সুরক্ষাগুলি এখন যুক্ত করা হবে, বিদ্যমান কোডে সম্ভাব্য ত্রুটি সৃষ্টি করে।
বিকাশকারীদের অভিজ্ঞতা উন্নত করা
উইন্ডোজে requestAdapter()
সাথে powerPreference
বিকল্পটি ব্যবহার করা হলে ডিভটুলগুলিতে এখন একটি সতর্কতা দৃশ্যমান। এই সতর্কতাটি সরানো হবে যখন ক্রোম কীভাবে দুটি পৃথক জিপিইউ ব্যবহার করতে পারে এবং তাদের মধ্যে ফলাফলগুলি সংমিশ্রণ করতে জানে। সংখ্যা 369219127 দেখুন।
জিপিইউ বাফারের আকারটি এখন খুব বড় একটি জিপিইউ বাফার তৈরি করার সময় ত্রুটি বার্তায় উপস্থিত রয়েছে। ইস্যু 374167798 দেখুন।
16-বিট নরমালাইজড টেক্সচার ফর্ম্যাটগুলির জন্য পরীক্ষামূলক সমর্থন
16-বিট স্বাক্ষরিত নরমালাইজড এবং স্বাক্ষরবিহীন নরমালাইজড টেক্সচার ফর্ম্যাটগুলি এখন যথাক্রমে "chromium-experimental-snorm16-texture-formats"
এবং "chromium-experimental-unorm16-texture-formats"
জিপিইউ বৈশিষ্ট্যগুলির পিছনে যথাক্রমে উপলভ্য রয়েছে যখন তারা মানককরণের জন্য আলোচনা করা হচ্ছে।
এই বৈশিষ্ট্যগুলি COPY_SRC
, COPY_DST
, TEXTURE_BINDING
, RENDER_ATTACHMENT
ব্যবহার, মাল্টিস্যাম্পলিং এবং সমাধানের ক্ষমতা সহ 16-বিট নরমালাইজড টেক্সচার ফর্ম্যাটগুলির জন্য সমর্থন যুক্ত করে। অতিরিক্ত ফর্ম্যাটগুলি হ'ল "r16unorm"
, "rg16unorm"
, "rgba16unorm"
, "r16snorm"
, "rg16snorm"
, এবং "rgba16snorm"
।
যতক্ষণ না এই পরীক্ষামূলক বৈশিষ্ট্যগুলি মানক করা হয়, ততক্ষণ chrome://flags/#enable-unsafe-webgpu
ক্রোমে উপলব্ধ করতে সক্ষম করুন "অনিরাপদ ওয়েবজিপিইউ সমর্থন" পতাকা সক্ষম করুন।
নিম্নলিখিত স্নিপেট দেখুন এবং 374790898 ইস্যু করুন ।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("chromium-experimental-snorm16-texture-formats")) {
throw new Error("16-bit signed normalized formats support is not available");
}
// Explicitly request 16-bit signed normalized formats support.
const device = await adapter.requestDevice({
requiredFeatures: ["chromium-experimental-snorm16-texture-formats"],
});
// Create a texture with the rgba16snorm format which consists of four
// components, each of which is a 16-bit, normalized, signed integer value.
const texture = device.createTexture({
size: [4, 4],
format: "rgba16snorm",
usage: GPUTextureUsage.RENDER_ATTACHMENT | GPUTextureUsage.TEXTURE_BINDING,
});
// Send the appropriate commands to the GPU...
ভোর আপডেট
wgpu::Adapter
এবং wgpu::Device
থেকে EnumerateFeatures(FeatureName * features)
পদ্ধতিগুলি GetFeatures(SupportedFeatures * features)
ব্যবহারের পক্ষে অবমূল্যায়ন করা হয়। সংখ্যা 368672123 দেখুন।
ওয়েবজিপিইউ.এইচ সি এপিআই সমস্ত char const *
একটি WGPUStringView
কাঠামোতে পরিবর্তন করেছে যা একটি ইউটিএফ -8 এনকোডযুক্ত স্ট্রিংয়ে একটি ভিউকে সংজ্ঞায়িত করে। এটি দৈর্ঘ্যের সাথে মিলিত স্ট্রিংয়ের ডেটার পয়েন্টারের মতো কাজ করে। এটি আপনাকে অনুলিপি করার প্রয়োজন ছাড়াই স্ট্রিংয়ের অংশগুলির সাথে কাজ করতে দেয়। 42241188 ইস্যু দেখুন।
এটি কেবল কয়েকটি মূল হাইলাইটগুলি কভার করে। প্রতিশ্রুতির বিস্তৃত তালিকা দেখুন।
ওয়েবজিপুতে নতুন কী
ওয়েবজিপিইউ সিরিজে নতুন কী রয়েছে তাতে আচ্ছাদিত সমস্ত কিছুর একটি তালিকা।
Chrome 137
- বাহ্যিক টেক্সচার বাইন্ডিংয়ের জন্য টেক্সচার ভিউ ব্যবহার করুন
- অফসেট এবং আকার নির্দিষ্ট না করে বাফারগুলি অনুলিপি
- ডাব্লুজিএসএল ওয়ার্কগ্রুপিউনিফর্মলোড পারমাণবিক থেকে পয়েন্টার ব্যবহার করে
- জিপুয়াডাপ্টারিনফো পাওয়ারপ্রেসফারেন্স অ্যাট্রিবিউট
- জিপুরেউস্টাডাপটারোপশনগুলি সামঞ্জস্যতা মোড অ্যাট্রিবিউট সরান
- ভোর আপডেট
Chrome 136
- জিপুয়াডাপ্টারিনফো আইএসএফএলব্যাকডাপ্টার অ্যাট্রিবিউট
- D3D12 এ শেডার সংকলন সময় উন্নতি
- ক্যানভাস চিত্রগুলি সংরক্ষণ করুন এবং অনুলিপি করুন
- সামঞ্জস্যতা মোড বিধিনিষেধ উত্তোলন
- ভোর আপডেট
Chrome 135
- নাল বাইন্ড গ্রুপ লেআউট সহ পাইপলাইন লেআউট তৈরির অনুমতি দিন
- ভিউপোর্টগুলিকে রেন্ডার লক্ষ্যগুলি সীমা ছাড়িয়ে যাওয়ার অনুমতি দিন
- অ্যান্ড্রয়েডে পরীক্ষামূলক সামঞ্জস্যতা মোডে সহজ অ্যাক্সেস
- ম্যাক্সিন্টারস্ট্যাগশেডার কমপোনেন্টস সীমা সরান
- ভোর আপডেট
ক্রোম 134
- সাবগ্রুপগুলির সাথে মেশিন-লার্নিং কাজের চাপ উন্নত করুন
- মিশ্রণযোগ্য হিসাবে ফ্লোট ফিল্টারেবল টেক্সচার ধরণের সমর্থন সরান
- ভোর আপডেট
Chrome 133
- অতিরিক্ত unorm8x4-bgra এবং 1-উপাদান ভার্টেক্স ফর্ম্যাট
- অপরিবর্তিত মান সহ অজানা সীমাটি অনুরোধ করার অনুমতি দিন
- ডাব্লুজিএসএল প্রান্তিককরণ নিয়ম পরিবর্তন
- ডাব্লুজিএসএল পারফরম্যান্স বাতিল সঙ্গে লাভ
- বাহ্যিক টেক্সচারের জন্য ভিডিওফ্রেম প্রদর্শন করুন
- অনুলিপি এক্সটার্নালিমেজটোটটেক্সচার ব্যবহার করে অ-ডিফল্ট ওরিয়েন্টেশন সহ চিত্রগুলি পরিচালনা করুন
- বিকাশকারীদের অভিজ্ঞতা উন্নত করা
- ফিচারলেভেল সহ সামঞ্জস্যতা মোড সক্ষম করুন
- পরীক্ষামূলক সাবগ্রুপের বৈশিষ্ট্যগুলি ক্লিনআপ
- ম্যাক্সিন্টারস্ট্যাগশেডার কমপোনেন্টস সীমা হ্রাস করুন
- ভোর আপডেট
Chrome 132
- টেক্সচার দেখুন ব্যবহার
- 32-বিট ফ্লোট টেক্সচার মিশ্রণ
- Gpudevice adapterinfo বৈশিষ্ট্য
- অবৈধ ফর্ম্যাট দিয়ে ক্যানভাস প্রসঙ্গটি কনফিগার করা জাভাস্ক্রিপ্ট ত্রুটি
- টেক্সচারে নমুনা বিধিনিষেধ ফিল্টারিং
- বর্ধিত উপগোষ্ঠী পরীক্ষা
- বিকাশকারীদের অভিজ্ঞতা উন্নত করা
- 16-বিট নরমালাইজড টেক্সচার ফর্ম্যাটগুলির জন্য পরীক্ষামূলক সমর্থন
- ভোর আপডেট
Chrome 131
- ডাব্লুজিএসএলে ক্লিপ দূরত্ব
- Gpucanvascontext getConfigration ()
- পয়েন্ট এবং লাইন আদিমদের গভীরতার পক্ষপাতিত্ব থাকা উচিত নয়
- উপগোষ্ঠীর জন্য অন্তর্নির্মিত স্ক্যান অন্তর্নির্মিত স্ক্যান
- বহু-অঙ্কন পরোক্ষ জন্য পরীক্ষামূলক সমর্থন
- শেডার মডিউল সংকলন বিকল্প কঠোর গণিত
- জিপুয়াডাপ্টার রিকোয়েস্টএডাপ্টারিনফো () সরান
- ভোর আপডেট
Chrome 130
- দ্বৈত উত্স মিশ্রণ
- মেটাল উপর শেডার সংকলন সময় উন্নতি
- জিপুয়াডাপ্টার রিকোয়েস্টএডাপটারিনফো এর অবমূল্যায়ন ()
- ভোর আপডেট
Chrome 129
Chrome 128
- উপগোষ্ঠী নিয়ে পরীক্ষা করা
- লাইন এবং পয়েন্টগুলির জন্য গভীরতার পক্ষপাত নির্ধারণের অবমূল্যায়ন করুন
- অনাবৃত ত্রুটিটি লুকান যদি প্রতিরোধ ডিফল্ট যদি সতর্কতা অবলম্বন করে
- ডাব্লুজিএসএল প্রথম এবং হয় স্যাম্পলিং ইন্টারপোলেট
- ভোর আপডেট
Chrome 127
- অ্যান্ড্রয়েডে ওপেনজিএল এস এর জন্য পরীক্ষামূলক সমর্থন
- জিপুয়াডাপ্টার তথ্য বৈশিষ্ট্য
- ওয়েবঅ্যাসেম্বলি ইন্টারপ উন্নতি
- উন্নত কমান্ড এনকোডার ত্রুটি
- ভোর আপডেট
ক্রোম 126
- ম্যাক্সটেক্সটুরিয়ারআলেয়ার্স সীমা বৃদ্ধি করুন
- ভলকান ব্যাকএন্ডের জন্য বাফার আপলোড অপ্টিমাইজেশন
- শেডার সংকলন সময় উন্নতি
- জমা দেওয়া কমান্ড বাফারগুলি অবশ্যই অনন্য হতে হবে
- ভোর আপডেট
Chrome 125
Chrome 124
- কেবল পড়ুন এবং পড়ুন স্টোরেজ টেক্সচার
- পরিষেবা কর্মী এবং ভাগ করা শ্রমিক সমর্থন
- নতুন অ্যাডাপ্টার তথ্য বৈশিষ্ট্য
- বাগ ফিক্স
- ভোর আপডেট
Chrome 123
- ডিপি 4 এ অন্তর্নির্মিত ফাংশনগুলি ডাব্লুজিএসএলে সমর্থন করে
- ডাব্লুজিএসএলে সীমাবদ্ধ পয়েন্টার পরামিতি
- ডাব্লুজিএসএলে ডেরেফেরেন্সিং কম্পোজিটগুলির জন্য সিনট্যাক্স চিনি
- স্টেনসিল এবং গভীরতার দিকগুলির জন্য কেবল পঠনযোগ্য অবস্থা পৃথক করুন
- ভোর আপডেট
Chrome 122
- সামঞ্জস্যতা মোডের সাথে পৌঁছনো প্রসারিত করুন (বিকাশে বৈশিষ্ট্য)
- ম্যাক্সভারটেক্সট্রিবিউটস সীমা বৃদ্ধি করুন
- ভোর আপডেট
Chrome 121
- অ্যান্ড্রয়েডে ওয়েবজিপিইউ সমর্থন করুন
- উইন্ডোজে শেডার সংকলনের জন্য এফএক্সসি এর পরিবর্তে ডিএক্সসি ব্যবহার করুন
- গণনা এবং রেন্ডার পাসে টাইমস্ট্যাম্প অনুসন্ধানগুলি
- ডিফল্ট এন্ট্রি শেডার মডিউলগুলিতে পয়েন্ট
- জিপিইউএক্সটার্নাল টেক্সচার রঙের স্থান হিসাবে ডিসপ্লে-পি 3 সমর্থন করুন
- মেমরি হিপস তথ্য
- ভোর আপডেট
Chrome 120
- ডাব্লুজিএসএলে 16-বিট ভাসমান-পয়েন্ট মানগুলির জন্য সমর্থন
- সীমা চাপুন
- গভীরতা-স্টেনসিল অবস্থায় পরিবর্তন
- অ্যাডাপ্টার তথ্য আপডেট
- টাইমস্ট্যাম্প ক্যোয়ারী কোয়ান্টাইজেশন
- বসন্ত-পরিষ্কার বৈশিষ্ট্য
Chrome 119
- ফিল্টারেবল 32-বিট ফ্লোট টেক্সচার
- unorm10-10-10-2 ভার্টেক্স ফর্ম্যাট
- RGB10A2UINT টেক্সচার ফর্ম্যাট
- ভোর আপডেট
Chrome 118
- Htmlimageelement এবং
copyExternalImageToTexture()
- রিড-রাইট এবং রিড-কেবল স্টোরেজ টেক্সচারের জন্য পরীক্ষামূলক সমর্থন
- ভোর আপডেট
Chrome 117
- আনসেট ভার্টেক্স বাফার
- আনসেট বাইন্ড গ্রুপ
- ডিভাইসটি হারিয়ে গেলে অ্যাসিঙ্ক পাইপলাইন তৈরি থেকে নীরবতা ত্রুটি
- স্পির-ভি শেডার মডিউল তৈরির আপডেটগুলি
- বিকাশকারীদের অভিজ্ঞতা উন্নত করা
- স্বয়ংক্রিয়ভাবে উত্পাদিত লেআউট সহ ক্যাশে পাইপলাইনগুলি
- ভোর আপডেট
Chrome 116
- ওয়েবকোডেকস ইন্টিগ্রেশন
- হারানো ডিভাইসটি জিপুয়াডাপ্টার
requestDevice()
দ্বারা ফিরে এসেছে -
importExternalTexture()
বলা হয় তবে ভিডিও প্লেব্যাকটি মসৃণ রাখুন - স্পেস কনফরমেশন
- বিকাশকারীদের অভিজ্ঞতা উন্নত করা
- ভোর আপডেট
Chrome 115
- সমর্থিত ডাব্লুজিএসএল ভাষা এক্সটেনশন
- ডাইরেক্ট 3 ডি 11 এর জন্য পরীক্ষামূলক সমর্থন
- এসি পাওয়ারে ডিফল্টরূপে পৃথক জিপিইউ পান
- বিকাশকারীদের অভিজ্ঞতা উন্নত করা
- ভোর আপডেট