maxTexturearraylayers की सीमा बढ़ाएं
किसी 2D टेक्सचर की गहराई या लेयर की गिनती के लिए, डिफ़ॉल्ट तौर पर ज़्यादा से ज़्यादा 256 वैल्यू दी जा सकती है. अगर इसके साथ काम करने वाला है, तो maxTextureArrayLayers सीमा का इस्तेमाल करके, अब 2048 तक के लिए अनुरोध किया जा सकता है. यह उदाहरण देखें और समस्या 42241514 देखें.
const adapter = await navigator.gpu.requestAdapter();
if (adapter.limits.maxTextureArrayLayers < 30) {
// When the desired limit isn't supported, take action to either fall back to
// a code path that does not require the higher limit or notify the user that
// their device does not meet minimum requirements.
}
// Request highest limit of max texture array layers attributes.
const device = await adapter.requestDevice({
requiredLimits: { maxTextureArrayLayers: 2048 }
});
Vulkan बैकएंड के लिए बफ़र अपलोड करने का ऑप्टिमाइज़ेशन
Vulkan बैकएंड के लिए, जीपीयूQueue की writeBuffer() विधि को कॉल करने पर, एक तेज़ पाथ उपलब्ध है. अब डेटा को सीधे डेस्टिनेशन बफ़र में लिखा जा सकता है. इससे डेटा को कॉपी करने और सिंक करने की ज़रूरत नहीं होगी. इस ऑप्टिमाइज़ेशन से, जीपीयू में डेटा अपलोड करने के लिए ज़रूरी मेमोरी ट्रैफ़िक कम हो जाता है.
तेज़ पाथ ऑप्टिमाइज़ेशन के लिए ज़रूरी है कि बफ़र की मेमोरी, होस्ट दिखने लगे और उस पर जीपीयू से जुड़ी कोई कार्रवाई बाकी न हो. समस्या 42242084 देखें.
शैडर कंपाइलेशन समय में सुधार
Chrome टीम, WebGPU शेडर भाषा के कंपाइलर Tint की क्षमता को बेहतर बना रही है. फ़िलहाल, मशीन कोड जनरेट करने से पहले टिंट, शेडर कोड के ऐब्स्ट्रैक्ट सिंटैक्स ट्री (एएसटी) में कई बार बदलाव करता है. यह एक ऐसी प्रोसेस है जिसमें कुछ प्लैटफ़ॉर्म पर काफ़ी संसाधन इस्तेमाल होते हैं. इसे बेहतर करने के लिए, एक नया इंटरमीडिएट वर्शन (आईआर) लॉन्च किया जा रहा है. साथ ही, इसे फिर से डिज़ाइन किए गए बैकएंड के साथ इस्तेमाल किया जा रहा है. इस बदलाव का मकसद, शेडर कंपाइलेशन को तेज़ी से बढ़ाना है.
इन सुधारों को Android पर पहले से ही ऐक्सेस किया जा सकता है. धीरे-धीरे उन ChromeOS डिवाइसों में भी इन सुधारों को लागू किया जा रहा है जो Vulkan बैकएंड के साथ WebGPU के साथ काम करते हैं. समस्या 42250751 देखें.
सबमिट किए गए कमांड बफ़र यूनीक होने चाहिए
submit()
वाले तरीके से जीपीयूकेक्यू में सबमिट किया गया हर जीपीयूCommandBuffer अलग होना चाहिए. ऐसा न होने पर, पुष्टि करने से जुड़ी गड़बड़ी जनरेट हो जाती है. यह खास जानकारी से जुड़ी गड़बड़ी थी. समस्या 42241492 देखें.
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
const commandEncoder = device.createCommandEncoder();
const commandBuffer = commandEncoder.finish();
device.queue.submit([commandBuffer, commandBuffer]);
// ⚠️ Validation fails because command buffers are not unique.
Dawn के अपडेट
C++ रैपर webgpu_cpp.h अब सिर्फ़ हेडर के लिए उपलब्ध है. इससे इसके इस्तेमाल को आसान बनाया जा सकता है और C++ रैपर के साथ आसानी से इंटिग्रेशन किया जा सकता है. समस्या 40195122 देखें.
webgpu.h C API अब Wapchain ऑब्जेक्ट के बारे में जानकारी नहीं देता है. यह बदलाव JavaScript API के साथ अलाइन होने के लिए किया जाएगा. अंदरूनी कॉन्फ़िगरेशन अब नए wgpu::Surface
ऑब्जेक्ट के Configure()
तरीके से किया जाता है. इसमें आने वाले समय में बदलाव हो सकते हैं. WebGPU की मदद से ऐप्लिकेशन बनाएं दस्तावेज़ में दिया गया उदाहरण देखें. समस्या 42241264 देखें.
कमियों की पूरी सूची देखें.
WebGPU में नया क्या है
WebGPU में नया क्या है सीरीज़ में शामिल सभी चीज़ों की सूची.
Chrome 126
- maxTextureArraylayers की सीमा बढ़ाएं
- Vulkan बैकएंड के लिए, बफ़र अपलोड ऑप्टिमाइज़ेशन
- शब्दों के कंपाइलेशन के समय में सुधार
- सबमिट किए गए कमांड बफ़र यूनीक होने चाहिए
- Dawn के बारे में अपडेट
Chrome 125
Chrome 124
- रीड-ओनली और रीड-राइट स्टोरेज टेक्सचर
- सर्विस वर्कर और कर्मचारियों से जुड़ी सहायता
- अडैप्टर की जानकारी से जुड़े नए एट्रिब्यूट
- गड़बड़ियां ठीक करना
- Dawn के बारे में अपडेट
Chrome 123
- DP4a में पहले से मौजूद फ़ंक्शन, WGSL में काम करते हैं
- WGSL में बिना पाबंदी वाले पॉइंटर पैरामीटर
- WGSL में डिफ़रेंसिंग कंपोज़िट के लिए सिंटैक्स शुगर
- स्टेंसिल और गहराई के पहलुओं के लिए अलग-अलग रीड-ओनली मोड
- Dawn के बारे में अपडेट
Chrome 122
- कपैसिटी मोड की मदद से पहुंच बढ़ाना (यह सुविधा अभी डेवलप की जा रही है)
- maxVertexAttributes की सीमा बढ़ाएं
- Dawn के बारे में अपडेट
Chrome 121
- Android पर WebGPU की मदद करना
- Windows पर शेडर कंपाइलेशन के लिए, FXC के बजाय DXC का इस्तेमाल करना
- कंप्यूट और रेंडर पास में टाइमस्टैंप क्वेरी
- शेडर मॉड्यूल के लिए डिफ़ॉल्ट एंट्री पॉइंट
- Display-p3 को जीपीयूएक्सटर्नल टेक्सचर कलर स्पेस के तौर पर इस्तेमाल करें
- मेमोरी के हीप की जानकारी
- Dawn के बारे में अपडेट
Chrome 120
- WGSL में 16-बिट फ़्लोटिंग-पॉइंट वैल्यू के साथ काम करता है
- सीमाएं पूरी करें
- डेप्थ-स्टेंसिल के स्टेटस में बदलाव
- अडैप्टर की जानकारी से जुड़े अपडेट
- टाइमस्टैंप क्वेरी को कैलकुलेट करना
- वसंत की सफ़ाई से जुड़ी सुविधाएं
Chrome 119
- फ़िल्टर की जा सकने वाली 32-बिट फ़्लोट टेक्सचर
- unorm10-10-10-2 वर्टेक्स फ़ॉर्मैट
- debug10a2uint टेक्सचर फ़ॉर्मैट
- Dawn के बारे में अपडेट
Chrome 118
copyExternalImageToTexture()
में HTMLImageElement और ImageData से जुड़ी सहायता- रीड-राइट और रीड-ओनली स्टोरेज टेक्सचर के लिए एक्सपेरिमेंट के तौर पर काम करने की सुविधा
- Dawn के बारे में अपडेट
Chrome 117
- वर्टेक्स बफ़र को अनसेट करें
- बाइंड ग्रुप को अनसेट करें
- डिवाइस खो जाने पर, एक साथ काम नहीं करने वाली पाइपलाइन बनने से जुड़ी गड़बड़ियों की आवाज़ बंद करना
- SPIR-V शेडर मॉड्यूल बनाने के बारे में अपडेट
- डेवलपर के अनुभव को बेहतर बनाना
- अपने-आप जनरेट हुए लेआउट की मदद से पाइपलाइन को कैश मेमोरी में सेव करना
- Dawn के बारे में अपडेट
Chrome 116
- WebCodecs इंटिग्रेशन
- जीपीयू अडैप्टर
requestDevice()
से मिला खोया हुआ डिवाइस - अगर
importExternalTexture()
कॉल किया जा रहा है, तो वीडियो बिना किसी रुकावट के चलाएं - खास जानकारी का पालन
- डेवलपर के अनुभव को बेहतर बनाना
- Dawn के बारे में अपडेट
Chrome 115
- इसके साथ काम करने वाले WGSL भाषा एक्सटेंशन
- Direct3D 11 के लिए एक्सपेरिमेंटल सहायता
- एसी पावर पर डिफ़ॉल्ट रूप से डिस्क्रीट जीपीयू पाएं
- डेवलपर के अनुभव को बेहतर बनाना
- Dawn के बारे में अपडेट
Chrome 114
- JavaScript को ऑप्टिमाइज़ करना
- कॉन्फ़िगर नहीं किए गए कैनवस पर getCurrentTexture(), अमान्य राज्य गड़बड़ी देता है
- WGSL से जुड़े अपडेट
- Dawn के बारे में अपडेट