WGSL भाषा के इस्तेमाल किए जा सकने वाले एक्सटेंशन
GPU
ऑब्जेक्ट के wgslLanguageFeatures
एलिमेंट में, WGSL के साथ काम करने वाले भाषा एक्सटेंशन के नामों की सूची होती है. काम करने वाले WGSL भाषा एक्सटेंशन अपने-आप चालू हो जाते हैं. इसलिए, आपको किसी एक्सटेंशन के लिए साफ़ तौर पर अनुरोध करने की ज़रूरत नहीं है. फ़िलहाल, यह सूची खाली है. हालांकि, आने वाले समय में इसमें कई एट्रिब्यूट जोड़े जा सकते हैं. उदाहरण के लिए, do-while loops
. issue dawn:1777 देखें.
if (navigator.gpu.wgslLanguageFeatures?.has("unknown-feature")) {
// Use unknown-feature in WGSL shader code.
}
Direct3D 11 के लिए एक्सपेरिमेंट के तौर पर उपलब्ध सहायता
Chromium टीम, Direct3D 11 के लिए WebGPU की सुविधा जोड़ने पर काम कर रही है. अब आपके पास --enable-unsafe-webgpu --use-webgpu-adapter=d3d11
कमांड-लाइन फ़्लैग की मदद से, Windows पर Chrome चलाकर, इस सुविधा को स्थानीय तौर पर आज़माने का विकल्प है. issue dawn:1705 देखें.
एसी पावर पर डिफ़ॉल्ट रूप से डिसक्रेट जीपीयू पाना
दो जीपीयू वाले macOS डिवाइसों पर, अगर powerPreference
विकल्प के बिना requestAdapter()
को कॉल किया जाता है, तो उपयोगकर्ता के डिवाइस के एसी पावर पर होने पर, डिस्क्रेट जीपीयू दिखाया जाता है. ऐसा न होने पर, इंटिग्रेट किया गया जीपीयू दिखाया जाता है. बदलाव 4499307 देखें.
डेवलपर के अनुभव को बेहतर बनाना
DevTools की नई चेतावनियां
अगर depth
बटन का इस्तेमाल GPUExtend3DDict
में किया जाता है, तो DevTools कंसोल में चेतावनी दिखती है. इसकी वजह यह है कि सही बटन depthOrArrayLayers
है. issue chromium:1440900 देखें.
अगर GPUBlendComponent
में अश्लील कॉन्टेंट पोस्ट करने वाले और बकाया पैसे चुकाने वाले सदस्यों का मिश्रण है, तो भी चेतावनी दी जाती है. issue dawn:1785 देखें.
शून्य साइज़ के डिस्पैच और ड्रॉ मान्य हैं. हालांकि, चेतावनी से डेवलपर को ऐसा करने से बचने के लिए कहा जाता है. issue dawn:1786 देखें.
गड़बड़ी के बारे में बेहतर मैसेज
अगर finish()
पहले से कॉल किया जा चुका है, तो GPUCommandEncoder
का इस्तेमाल करने पर, अब गड़बड़ी का बेहतर मैसेज दिया जाता है. issue dawn:1736 देखें.
नष्ट किए गए ऑब्जेक्ट के साथ कमांड बफ़र सबमिट करते समय, गड़बड़ी के मैसेज में submit()
में इस्तेमाल किए गए कमांड बफ़र के लेबल अब दिख रहे हैं. issue dawn:1747 देखें.
depthStencil
की पुष्टि करते समय, गहराई स्टेंसिल स्टेटस का अमान्य हिस्सा अब गड़बड़ी के मैसेज में बताया गया है. issue dawn:1735 देखें.
पुष्टि करने से जुड़ी गड़बड़ी का minBindingSize
मैसेज, अब बफ़र के साथ-साथ उस बाइंडिंग के ग्रुप और नंबर की जानकारी देता है जिसकी पुष्टि नहीं हो सकी. issue dawn:1604 देखें.
GPUBuffer
ऑब्जेक्ट पर mapAsync()
तरीके से मिलने वाले गड़बड़ी के मैसेज को बेहतर बनाया गया है, ताकि डेवलपर को डीबग करने में मदद मिल सके. यहां एक उदाहरण देखें और chromium:1431622 देखें.
// Create a GPU buffer and map it.
const descriptor = { size: 0, usage: GPUBufferUsage.MAP_READ };
const buffer = device.createBuffer(descriptor);
buffer.mapAsync(GPUMapMode.READ);
// Before it has been mapped, request another mapping.
try {
await buffer.mapAsync(GPUMapMode.READ);
} catch (error) {
// New! Error message tells you mapping is already pending.
console.warn(error.message);
}
macOS के डीबगिंग टूल में लेबल
use_user_defined_labels_in_backend
डीबग टॉगल की मदद से, ऑब्जेक्ट लेबल को बैकएंड पर भेजा जा सकता है, ताकि उन्हें प्लैटफ़ॉर्म के हिसाब से डीबग करने वाले टूल, जैसे कि RenderDoc, PIX या Instruments में देखा जा सके. अब से, macOS पर डीबग करने की सुविधा चालू करने पर, आपको बेहतर डीबग अनुभव मिलेगा. issue dawn:1784 देखें

अगर कंपाइल नहीं हो पाता है, तो HLSL को लॉग करें
dump_shaders
डीबग टॉगल की मदद से, इनपुट WGSL शेडर और अनुवाद किए गए बैकएंड शेडर को लॉग किया जा सकता है. अब से, डीबग करने के लिए इसे चालू करने पर, HLSL को डंप कर दिया जाएगा. ऐसा तब होगा, जब इसे कंपाइल नहीं किया जा सकेगा. issue dawn:1681 देखें
Dawn के बारे में अपडेट
वर्टिक्स बफ़र को अनसेट करना
wgpu::RenderPassEncoder
या wgpu::RenderBundleEncoder
पर SetVertexBuffer()
को wgpu::Buffer
के बजाय nullptr
पास करने से, किसी दिए गए स्लॉट में पहले से सेट किए गए वर्टिक्स बफ़र को अनसेट किया जा सकता है. issue dawn:1675 देखें.
// Set vertex buffer in slot 0.
myRenderPassEncoder.SetVertexBuffer(0, myVertexBuffer);
// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.SetVertexBuffer(0, nullptr);
कुछ समय के लिए मौजूद अटैचमेंट
ऐसे अटैचमेंट बनाए जा सकते हैं जिनसे रेंडर पास ऑपरेशन, टाइल मेमोरी में बने रहें. इससे, वीआरएएम ट्रैफ़िक से बचा जा सकता है. साथ ही, wgpu::TextureUsage::TransientAttachment
के इस्तेमाल को सेट करके, टेक्सचर के लिए वीआरएएम का ऐलोकेशन भी बचाया जा सकता है. यह सुविधा सिर्फ़ Metal और Vulkan के लिए उपलब्ध है. समस्या का पता चलने का समय: 1695 देखें.
wgpu::TextureDescriptor desc;
desc.format = wgpu::TextureFormat::RGBA8Unorm;
desc.size = {1, 1, 1};
desc.usage = wgpu::TextureUsage::RenderAttachment |
wgpu::TextureUsage::TransientAttachment;
auto transientTexture = device.CreateTexture(&desc);
// You can now create views from the texture to serve as transient
// attachments, e.g. as color attachments in a render pipeline.
depot_tools
के बिना बिल्डिंग
DAWN_FETCH_DEPENDENCIES
CMake के नए विकल्प की मदद से, Dawn की डिपेंडेंसी फ़ेच की जा सकती हैं. इसके लिए, DEPS फ़ाइलें पढ़ने वाली Python स्क्रिप्ट का इस्तेमाल किया जाता है. इसकी वजह यह है कि depot_tools
पर निर्भर सभी प्रोजेक्ट के लिए, CMake को इंस्टॉल करना ज़रूरी नहीं है. बदलाव 131750 देखें.
WebGPU में नया क्या है
WebGPU में नया क्या है सीरीज़ में शामिल सभी चीज़ों की सूची.
Chrome 133
- अतिरिक्त unorm8x4-bgra और एक-कॉम्पोनेंट वर्टिक्स फ़ॉर्मैट
- अनजान सीमाओं के लिए, तय नहीं की गई वैल्यू का अनुरोध करने की अनुमति दें
- 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 का इस्तेमाल करना
- कंप्यूट और रेंडर पास में टाइमस्टैंप क्वेरी
- शेडर मॉड्यूल के लिए डिफ़ॉल्ट एंट्री पॉइंट
- GPUExternalTexture कलर स्पेस के तौर पर display-p3 का इस्तेमाल करना
- मेमोरी हेप की जानकारी
- Dawn से जुड़े अपडेट
Chrome 120
- WGSL में 16-बिट फ़्लोटिंग-पॉइंट वैल्यू के लिए सहायता
- सीमाओं को पार करना
- डेप्थ-स्टेंसिल स्टेटस में बदलाव
- अडैप्टर की जानकारी से जुड़े अपडेट
- टाइमस्टैंप क्वेरी को क्वांटाइज़ करना
- समय-समय पर साफ़-सफ़ाई करने की सुविधाएं
Chrome 119
- फ़िल्टर किए जा सकने वाले 32-बिट फ़्लोट टेक्सचर
- unorm10-10-10-2 वर्टिक्स फ़ॉर्मैट
- rgb10a2uint टेक्सचर फ़ॉर्मैट
- Dawn से जुड़े अपडेट
Chrome 118
copyExternalImageToTexture()
में HTMLImageElement और ImageData की सुविधा- रीड-राइट और रीड-ओनली स्टोरेज टेक्स्चर के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध सहायता
- Dawn से जुड़े अपडेट
Chrome 117
- वर्टिक्स बफ़र को अनसेट करना
- बाइंड किए गए ग्रुप को अनसेट करना
- डिवाइस खो जाने पर, असाइनमेंट के लिए असाइनमेंट पाइपलाइन बनाने से जुड़ी गड़बड़ियों को रोकना
- SPIR-V शेडर मॉड्यूल बनाने से जुड़े अपडेट
- डेवलपर के अनुभव को बेहतर बनाना
- अपने-आप जनरेट हुए लेआउट की मदद से, पाइपलाइन को कैश मेमोरी में सेव करना
- Dawn से जुड़े अपडेट
Chrome 116
- WebCodecs इंटिग्रेशन
- GPUAdapter
requestDevice()
से खोया हुआ डिवाइस वापस मिलना importExternalTexture()
को कॉल करने पर, वीडियो चलाने की सुविधा को बिना रुकावट के जारी रखना- स्पेसिफ़िकेशन के मुताबिक होना
- डेवलपर के अनुभव को बेहतर बनाना
- Dawn से जुड़े अपडेट
Chrome 115
- WGSL भाषा के इस्तेमाल किए जा सकने वाले एक्सटेंशन
- Direct3D 11 के लिए एक्सपेरिमेंटल सपोर्ट
- AC पावर पर डिफ़ॉल्ट रूप से डिसक्रेट जीपीयू पाना
- डेवलपर के अनुभव को बेहतर बनाना
- Dawn से जुड़े अपडेट
Chrome 114
- JavaScript ऑप्टिमाइज़ करना
- बिना कॉन्फ़िगर किए गए कैनवस पर getCurrentTexture() से InvalidStateError मिलता है
- WGSL से जुड़े अपडेट
- Dawn से जुड़े अपडेट