पब्लिश किया गया: 22 अक्टूबर, 2025
टेक्स्चर फ़ॉर्मैट की सुविधा का दायरा बढ़ाया गया
जीपीयू की नई "texture-formats-tier1" सुविधा की मदद से, डेवलपर मौजूदा कॉन्टेंट को वेब पर पोर्ट कर सकते हैं. इसके लिए, उन्हें WebGPU की कम क्षमताओं के हिसाब से कॉन्टेंट को फिर से लिखने की ज़रूरत नहीं होती. यह सुविधा, रेंडर अटैचमेंट, ब्लेंड करने की सुविधा, मल्टीसैंपलिंग की सुविधाओं, और "read-only" या "write-only" स्टोरेज टेक्सचर ऐक्सेस के साथ, "r16unorm", "r16snorm", "rg16unorm", "rg16snorm", "rgba16unorm", और "rgba16snorm" जैसे नए टेक्सचर फ़ॉर्मैट के साथ काम करती है. यह सुविधा, रेंडर अटैचमेंट, ब्लेंड करने की सुविधा, मल्टीसैंपलिंग, और रिज़ॉल्यूशन की सुविधाओं के साथ, "r8snorm", "rg8snorm", "rgba8snorm" जैसे मौजूदा टेक्सचर फ़ॉर्मैट के साथ भी काम करती है. ज़्यादा टेक्सचर फ़ॉर्मैट का इस्तेमाल, "read-only" या "write-only" स्टोरेज टेक्सचर ऐक्सेस के साथ भी किया जा सकता है.
जीपीयू की नई "texture-formats-tier2" सुविधा की मदद से, खास फ़ॉर्मैट के लिए "read-write" स्टोरेज टेक्सचर ऐक्सेस की सुविधा मिलती है. यह सुविधा, Unreal Engine को वेब पर पोर्ट करने जैसे प्रोजेक्ट के लिए ज़रूरी है. ध्यान दें कि डिवाइस बनाते समय, "texture-formats-tier2" को चालू करने पर, "texture-formats-tier1" अपने-आप चालू हो जाता है.
यहां दिया गया स्निपेट और chromestatus की एंट्री देखें.
const adapter = await navigator.gpu.requestAdapter();
const requiredFeatures = [];
if (adapter.features.has("texture-format-tier1")) {
requiredFeatures.push("texture-format-tier1");
}
if (adapter.features.has("texture-format-tier2")) {
requiredFeatures.push("texture-format-tier2");
}
const device = await adapter.requestDevice({ requiredFeatures });
// Later on, when dealing with "r8unorm" texture formats for example...
if (device.features.has("texture-format-tier2")) {
// Use "read-write" storage texture access...
} else if (device.features.has("texture-format-tier1")) {
// Use "read-only" or "write-only" storage texture access...
} else {
// Fallback: Use another texture format...
}
Intel के लोगों को उनके काम के लिए बहुत-बहुत धन्यवाद!
WGSL में प्रिमिटिव इंडेक्स
primitive_index एक इन-बिल्ट WGSL वैल्यू है. यह मौजूदा प्रिमिटिव (उदाहरण के लिए, कोई पॉइंट, लाइन या ट्राऐंगल) की खास तौर पर पहचान करती है. इसे फ़्रैगमेंट शेडर प्रोसेस करता है. यह 0 से शुरू होता है. हर प्रिमिटिव को प्रोसेस करने के बाद, यह 1 से बढ़ता है. साथ ही, हर इंस्टेंस के ड्रॉ होने के बीच, यह 0 पर रीसेट हो जाता है.
अगर किसी GPUAdapter में "primitive-index" सुविधा उपलब्ध है, तो WGSL में प्रिमिटिव इंडेक्स की सुविधा पाने के लिए, इस सुविधा के साथ GPUDevice का अनुरोध करें. साथ ही, enable primitive_index; की मदद से, अपने WGSL कोड में इस एक्सटेंशन को साफ़ तौर पर चालू करें. चालू होने के बाद, अपने फ़्रैगमेंट शेडर में primitive_index की इन-बिल्ट इंटिजर वैल्यू का इस्तेमाल करके, हर प्रिमिटिव का डेटा ऐक्सेस करें. इसके अलावा, ऐसा लॉजिक लागू करें जो रेंडर किए जा रहे हर अलग-अलग ज्यामितीय आकार के लिए अलग-अलग हो. उदाहरण के लिए.
यहां दिया गया कोड स्निपेट, एक फ़्रैगमेंट शेडर दिखाता है. यह दूसरे प्रिमिटिव को लाल रंग में और बाकी सभी प्रिमिटिव को नीले रंग में रेंडर करता है.
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("primitive-index")) {
throw new Error("Primitive index support is not available");
}
// Explicitly request primitive index support.
const device = await adapter.requestDevice({
requiredFeatures: ["primitive-index"],
});
const fragmentShaderModule = device.createShaderModule({ code: `
enable primitive_index;
@fragment
fn main(@builtin(primitive_index) i : u32) -> @location(0) vec4f {
if (i == 1) {
return vec4f(1, 0, 0, 1);
}
return vec4f(0, 1, 0, 1);
}`,
});
// Send the appropriate commands to the GPU...
ज़्यादा जानने के लिए, प्रिमिटिव पिकिंग का सैंपल देखें. साथ ही, chromestatus की एंट्री देखें.
Dawn से जुड़े अपडेट
DAWN_BUILD_MONOLITHIC_LIBRARY CMake वैरिएबल का इस्तेमाल, मोनोलिथिक लाइब्रेरी के टाइप को मैनेज करने के लिए किया जाता है. इसकी डिफ़ॉल्ट वैल्यू OFF से बदलकर STATIC कर दी गई है. इससे, डिफ़ॉल्ट रूप से libwebgpu* फ़ाइलें जनरेट होंगी.
Dawn अब wgpu::Surface को कॉन्फ़िगर करते समय, डिफ़ॉल्ट रूप से wgpu::PresentMode::Undefined को सही तरीके से मैनेज करता है. समस्या 441410668 देखें.
इसमें सिर्फ़ कुछ मुख्य हाइलाइट शामिल हैं. कमिट की पूरी सूची देखें.
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
- 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 से जुड़े अपडेट