फ़िल्टर किए जा सकने वाले 32-बिट फ़्लोट टेक्सचर
32-बिट फ़्लोटिंग-पॉइंट टेक्सचर का इस्तेमाल, ज़्यादा सटीक डेटा सेव करने के लिए किया जाता है. जैसे, एचडीआर इमेज और डेप्थ मैप. ये खास तौर पर उन जीपीयू के लिए ज़रूरी हैं जिनका इस्तेमाल, हाई-एंड गेमिंग और पेशेवर ऐप्लिकेशन में किया जाता है.
फ़िल्टर किए जा सकने वाले 32-बिट फ़्लोट टेक्सचर की सुविधा से पता चलता है कि कोई जीपीयू, 32-बिट फ़्लोटिंग-पॉइंट टेक्सचर को फ़िल्टर कर सकता है या नहीं. इसका मतलब है कि जीपीयू, फ़्लोटिंग-पॉइंट टेक्सचर के किनारों को स्मूद कर सकता है. इससे वे कम खुरदुरे दिखते हैं. यह WebGL में "OES_texture_float_linear" एक्सटेंशन जैसा है.
सभी जीपीयू, फ़िल्टर किए जा सकने वाले 32-बिट फ़्लोट टेक्सचर की सुविधा के साथ काम नहीं करते. अगर "float32-filterable" सुविधा GPUAdapter में उपलब्ध है, तो अब इस सुविधा के साथ GPUDevice का अनुरोध किया जा सकता है. साथ ही, "r32float", "rg32float" , और "rgba32float" फ़ॉर्मैट वाले टेक्सचर को फ़िल्टर किया जा सकता है. यहां दिया गया उदाहरण और dawn:1664 से जुड़ी समस्या देखें.
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("float32-filterable")) {
throw new Error("Filterable 32-bit float textures support is not available");
}
// Explicitly request filterable 32-bit float textures support.
const device = await adapter.requestDevice({
requiredFeatures: ["float32-filterable"],
});
// Create a sampler with linear filtering.
const sampler = device.createSampler({
magFilter: "linear",
});
// Create a texture with rgba32float format.
const texture = device.createTexture({
size: [100, 100],
format: "rgba32float",
usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING,
});
// Write data to texture, create a bindgroup with sampler and texture and
// send the appropriate commands to the GPU....
unorm10-10-10-2 वर्टेक्स फ़ॉर्मैट
WebGPU की खास बातों में, "unorm10-10-10-2" नाम का एक नया वर्टेक्स फ़ॉर्मैट जोड़ा गया है. इसे "rgb10a2" भी कहा जाता है. इसमें, चार सामान्य किए गए अनसाइंड इंटिजर वैल्यू के साथ, 32-बिट की एक वैल्यू शामिल होती है. इन्हें 10 बिट, 10 बिट, 10 बिट, और 2 बिट के तौर पर व्यवस्थित किया जाता है. यहां दिया गया उदाहरण और dawn:2044 से जुड़ी समस्या देखें.
// Define the layout of vertex attribute data with unorm10-10-10-2 format.
const buffers = [
{
arrayStride: 0,
attributes: [
{ format: "unorm10-10-10-2", offset: 0, shaderLocation: 0 },
],
},
];
// Describe the vertex shader entry point and its input buffer layouts.
const vertex = {
module: myVertexShaderModule,
entryPoint: "main",
buffers,
};
// Pass vertex to device.createRenderPipeline() and
// use vec4<f32> type in WGSL shader code to manipulate data.
rgb10a2uint टेक्सचर फ़ॉर्मैट
WebGPU की खास बातों में, "rgb10a2uint" नाम का एक नया टेक्सचर फ़ॉर्मैट जोड़ा गया है. इसमें, 32-बिट का एक पिक्सेल फ़ॉर्मैट शामिल होता है. इसमें चार अनसाइंड इंटिजर कॉम्पोनेंट होते हैं: 10-बिट रेड, 10-बिट ग्रीन, 10-बिट ब्लू, और 2-बिट अल्फ़ा. यहां दिया गया उदाहरण और dawn:1936 से जुड़ी समस्या देखें.
// Create a texture with rgb10a2uint format.
const texture = device.createTexture({
size: [100, 100],
format: "rgb10a2uint",
usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.TEXTURE_BINDING,
});
// Write data to texture, create a bindgroup with texture and
// send the appropriate commands to the GPU....
Dawn से जुड़े अपडेट
टाइमस्टैंप क्वेरी की मदद से, WebGPU ऐप्लिकेशन यह सटीक तौर पर (नैनोसेकंड तक) मेज़र कर सकते हैं कि उनके जीपीयू कमांड को पूरा होने में कितना समय लगता है. पास की शुरुआत और खत्म होने पर, टाइमस्टैंप क्वेरी कैप्चर करने के लिए एपीआई के आकार को WebGPU की खास बातों के मुताबिक अपडेट किया गया है. यहां दिया गया उदाहरण और dawn:1800 से जुड़ी समस्या देखें.
// Create a timestamp query set that will store the timestamp values.
wgpu::QuerySetDescriptor querySetDescriptor = {
.count = 2,
.type = wgpu::QueryType::Timestamp};
wgpu::QuerySet querySet = device.CreateQuerySet(&querySetDescriptor);
wgpu::RenderPassTimestampWrites timestampWrites = {
.querySet = querySet,
.beginningOfPassWriteIndex = 0,
.endOfPassWriteIndex = 1};
wgpu::ComputePassDescriptor pass{.timestampWrites = ×tampWrites};
// Write the queue timestamp into beginningOfPassWriteIndex and
// endOfPassWriteIndex of myQuerySet respectively before and after the pass
// commands execute.
myEncoder.BeginComputePass(&pass);
इसमें सिर्फ़ कुछ मुख्य हाइलाइट शामिल हैं. कमिट की पूरी सूची देखें.
WebGPU में नया क्या है
WebGPU में नया क्या है सीरीज़ में शामिल की गई सभी चीज़ों की सूची.
Chrome का वर्शन 147-148
Chrome का वर्शन 146
- OpenGL ES 3.1 पर WebGPU कंपैटबिलिटी मोड की सुविधा
- ट्रांज़िएंट अटैचमेंट
- WGSL texture_and_sampler_let एक्सटेंशन
- Dawn से जुड़े अपडेट
Chrome का वर्शन 145
- WGSL subgroup_uniformity एक्सटेंशन
- वर्कर में, सिंक्रोनस बफ़र मैपिंग की एक्सपेरिमेंटल सुविधा
- Dawn से जुड़े अपडेट
Chrome का वर्शन 144
- WGSL subgroup_id एक्सटेंशन
- WGSL uniform_buffer_standard_layout एक्सटेंशन
- Linux पर WebGPU
- writeBuffer और writeTexture की सुविधा पहले से ज़्यादा तेज़
- Dawn से जुड़े अपडेट
Chrome का वर्शन 143
- टेक्सचर कॉम्पोनेंट स्विज़ल
- bgra8unorm रीड-ओनली स्टोरेज टेक्सचर के इस्तेमाल की सुविधा हटाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 142
Chrome का वर्शन 141
- Tint IR की सुविधा पूरी हुई
- WGSL कंपाइलर में इंटिजर रेंज का विश्लेषण
- Vulkan बैकएंड के लिए SPIR-V 1.4 अपडेट
- Dawn से जुड़े अपडेट
Chrome का वर्शन 140
- डिवाइस के अनुरोध, अडैप्टर का इस्तेमाल करते हैं
- टेक्सचर व्यू का इस्तेमाल करने के लिए, टेक्सचर का शॉर्टहैंड
- WGSL textureSampleLevel, 1D टेक्सचर के साथ काम करता है
- bgra8unorm रीड-ओनली स्टोरेज टेक्सचर के इस्तेमाल की सुविधा बंद करना
- GPUAdapter isFallbackAdapter एट्रिब्यूट हटाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 139
- बीसी और एएसटीसी कंप्रेस किए गए फ़ॉर्मैट के लिए, 3D टेक्सचर की सुविधा
- "core-features-and-limits" नाम की नई सुविधा
- WebGPU कंपैटबिलिटी मोड के लिए ऑरिजिन ट्रायल
- Dawn से जुड़े अपडेट
Chrome का वर्शन 138
- बफ़र को बाइंडिंग रिसॉर्स के तौर पर इस्तेमाल करने के लिए शॉर्टहैंड
- बनाते समय मैप किए गए बफ़र के लिए, साइज़ की ज़रूरी शर्तों में बदलाव
- हाल ही के जीपीयू के लिए आर्किटेक्चर रिपोर्ट
- GPUAdapter isFallbackAdapter एट्रिब्यूट को बंद करना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 137
- externalTexture बाइंडिंग के लिए, टेक्सचर व्यू का इस्तेमाल करना
- ऑफ़सेट और साइज़ तय किए बिना बफ़र कॉपी करना
- एटॉमिक के लिए पॉइंटर का इस्तेमाल करके, WGSL workgroupUniformLoad
- GPUAdapterInfo powerPreference एट्रिब्यूट
- GPURequestAdapterOptions compatibilityMode एट्रिब्यूट हटाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 136
- GPUAdapterInfo isFallbackAdapter एट्रिब्यूट
- D3D12 पर शेडर कंपाइलेशन के समय में सुधार
- कैनवस इमेज सेव करना और कॉपी करना
- कंपैटबिलिटी मोड की पाबंदियां हटाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 135
- नल बाइंड ग्रुप लेआउट के साथ पाइपलाइन लेआउट बनाने की अनुमति देना
- व्यू पोर्ट को रेंडर टारगेट की सीमाओं से आगे बढ़ाने की अनुमति देना
- Android पर, कंपैटबिलिटी मोड की एक्सपेरिमेंटल सुविधा को आसानी से ऐक्सेस करना
- maxInterStageShaderComponents की सीमा हटाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 134
- सबग्रुप की मदद से, मशीन लर्निंग के वर्कलोड को बेहतर बनाना
- फ़्लोट फ़िल्टर किए जा सकने वाले टेक्सचर टाइप की सुविधा को, ब्लेंड किए जा सकने वाले टेक्सचर टाइप के तौर पर हटाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 133
- unorm8x4-bgra और 1-कॉम्पोनेंट वर्टेक्स फ़ॉर्मैट की अतिरिक्त सुविधा
- अनडिफ़ाइंड वैल्यू के साथ, अनजाने लिमिट का अनुरोध करने की अनुमति देना
- WGSL अलाइनमेंट के नियमों में बदलाव
- डिस्कार्ड की मदद से, WGSL की परफ़ॉर्मेंस में सुधार
- एक्सटर्नल टेक्सचर के लिए, VideoFrame displaySize का इस्तेमाल करना
- copyExternalImageToTexture का इस्तेमाल करके, डिफ़ॉल्ट ओरिएंटेशन के अलावा अन्य ओरिएंटेशन वाली इमेज को मैनेज करना
- डेवलपर के अनुभव को बेहतर बनाना
- featureLevel के साथ कंपैटबिलिटी मोड चालू करना
- एक्सपेरिमेंटल सबग्रुप की सुविधाओं को साफ़ करना
- maxInterStageShaderComponents की सीमा को बंद करना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 132
- टेक्सचर व्यू का इस्तेमाल
- 32-बिट फ़्लोट टेक्सचर ब्लेंड करना
- GPUDevice adapterInfo एट्रिब्यूट
- अमान्य फ़ॉर्मैट के साथ कैनवस कॉन्टेक्स्ट कॉन्फ़िगर करने पर, JavaScript से जुड़ी गड़बड़ी होना
- टेक्सचर पर फ़िल्टरिंग सैंपलर की पाबंदियां
- सबग्रुप के साथ एक्सपेरिमेंट की सुविधा का दायरा बढ़ाना
- डेवलपर के अनुभव को बेहतर बनाना
- 16-बिट नॉर्मलाइज़्ड टेक्सचर फ़ॉर्मैट के लिए एक्सपेरिमेंटल सुविधा
- Dawn से जुड़े अपडेट
Chrome का वर्शन 131
- WGSL में क्लिप डिस्टैंस
- GPUCanvasContext getConfiguration()
- पॉइंट और लाइन प्रिमिटिव में डेप्थ बायस नहीं होना चाहिए
- सबग्रुप के लिए, इंक्लूसिव स्कैन के बिल्ट-इन फ़ंक्शन
- मल्टी-ड्रॉ इनडायरेक्ट के लिए एक्सपेरिमेंटल सुविधा
- शेडर मॉड्यूल कंपाइलेशन विकल्प, स्ट्रिक्ट मैथ
- GPUAdapter requestAdapterInfo() हटाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 130
- डुअल सोर्स ब्लेंडिंग
- Metal पर शेडर कंपाइलेशन के समय में सुधार
- GPUAdapter requestAdapterInfo() को बंद करना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 129
Chrome का वर्शन 128
- सबग्रुप के साथ एक्सपेरिमेंट करना
- लाइनों और पॉइंट के लिए डेप्थ बायस सेट करने की सुविधा बंद करना
- अगर preventDefault है, तो DevTools की उस चेतावनी को छिपाना जिसमें कैप्चर नहीं की गई गड़बड़ी के बारे में बताया गया है
- WGSL इंटरपोलेट सैंपलिंग फ़र्स्ट और आइदर
- Dawn से जुड़े अपडेट
Chrome का वर्शन 127
- Android पर OpenGL ES के लिए एक्सपेरिमेंटल सुविधा
- GPUAdapter info एट्रिब्यूट
- WebAssembly इंटरऑप में सुधार
- कमांड एनकोडर की गड़बड़ियों में सुधार
- Dawn से जुड़े अपडेट
Chrome का वर्शन 126
- maxTextureArrayLayers की सीमा बढ़ाना
- Vulkan बैकएंड के लिए, बफ़र अपलोड करने की सुविधा को ऑप्टिमाइज़ करना
- शेडर कंपाइलेशन के समय में सुधार
- सबमिट किए गए कमांड बफ़र यूनीक होने चाहिए
- Dawn से जुड़े अपडेट
Chrome का वर्शन 125
Chrome का वर्शन 124
- रीड-ओनली और रीड-राइट स्टोरेज टेक्सचर
- सर्विस वर्कर और शेयर किए गए वर्कर की सुविधा
- अडैप्टर की जानकारी के नए एट्रिब्यूट
- गड़बड़ियां ठीक की गईं
- Dawn से जुड़े अपडेट
Chrome का वर्शन 123
- WGSL में DP4a के बिल्ट-इन फ़ंक्शन की सुविधा
- WGSL में, पॉइंटर के अनरिस्ट्रिक्टेड पैरामीटर
- WGSL में, कंपोज़िट को डीरेफ़रंस करने के लिए सिंटैक्स शुगर
- स्टेंसिल और डेप्थ ऐस्पेक्ट के लिए, रीड-ओनली स्टेट को अलग करना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 122
- कंपैटबिलिटी मोड की मदद से पहुंच बढ़ाना (डेवलपमेंट में मौजूद सुविधा)
- maxVertexAttributes की सीमा बढ़ाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 121
- Android पर WebGPU की सुविधा
- Windows पर शेडर कंपाइलेशन के लिए, FXC के बजाय DXC का इस्तेमाल करना
- कंप्यूट और रेंडर पास में टाइमस्टैंप क्वेरी
- शेडर मॉड्यूल के लिए डिफ़ॉल्ट एंट्री पॉइंट
- display-p3 को GPUExternalTexture कलर स्पेस के तौर पर इस्तेमाल करने की सुविधा
- मेमोरी हीप की जानकारी
- Dawn से जुड़े अपडेट
Chrome का वर्शन 120
- WGSL में, 16-बिट फ़्लोटिंग-पॉइंट वैल्यू की सुविधा
- सीमाएं बढ़ाना
- डेप्थ-स्टेंसिल स्टेट में बदलाव
- अडैप्टर की जानकारी के अपडेट
- टाइमस्टैंप क्वेरी का क्वॉन्टाइज़ेशन
- स्प्रिंग-क्लीनिंग की सुविधाएं
Chrome का वर्शन 119
- फ़िल्टर किए जा सकने वाले 32-बिट फ़्लोट टेक्सचर
- unorm10-10-10-2 वर्टेक्स फ़ॉर्मैट
- rgb10a2uint टेक्सचर फ़ॉर्मैट
- Dawn से जुड़े अपडेट
Chrome का वर्शन 118
- `copyExternalImageToTexture()` में HTMLImageElement और ImageData की सुविधा
copyExternalImageToTexture() - रीड-राइट और रीड-ओनली स्टोरेज टेक्सचर के लिए एक्सपेरिमेंटल सुविधा
- Dawn से जुड़े अपडेट
Chrome का वर्शन 117
- वर्टेक्स बफ़र को अनसेट करना
- बाइंड ग्रुप को अनसेट करना
- डिवाइस खो जाने पर, एसिंक्रोनस पाइपलाइन बनाने से जुड़ी गड़बड़ियों को छिपाना
- SPIR-V शेडर मॉड्यूल बनाने से जुड़े अपडेट
- डेवलपर के अनुभव को बेहतर बनाना
- अपने-आप जनरेट होने वाले लेआउट के साथ पाइपलाइन को कैश करना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 116
- WebCodecs इंटिग्रेशन
- GPUAdapter
requestDevice()से मिला खोया हुआ डिवाइस importExternalTexture()को कॉल करने पर, वीडियो प्लेबैक को स्मूद रखना- खास बातों के मुताबिक होना
- डेवलपर के अनुभव को बेहतर बनाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 115
- WGSL भाषा के एक्सटेंशन की सुविधा
- Direct3D 11 के लिए एक्सपेरिमेंटल सुविधा
- एसी पावर पर डिफ़ॉल्ट रूप से अलग जीपीयू पाना
- डेवलपर के अनुभव को बेहतर बनाना
- Dawn से जुड़े अपडेट
Chrome का वर्शन 114
- JavaScript को ऑप्टिमाइज़ करना
- कॉन्फ़िगर नहीं किए गए कैनवस पर getCurrentTexture() को कॉल करने पर, InvalidStateError होना
- WGSL से जुड़े अपडेट
- Dawn से जुड़े अपडेट