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 बैकएंड के लिए, GPUQueue के writeBuffer() तरीके को कॉल करने पर, अब तेज़ पाथ उपलब्ध है. अब डेटा को सीधे डेस्टिनेशन बफ़र में लिखा जा सकता है. इससे, डेटा की एक और कॉपी बनाने और उसे सिंक करने की ज़रूरत नहीं पड़ती. इस ऑप्टिमाइज़ेशन से, जीपीयू पर डेटा अपलोड करने के लिए ज़रूरी मेमोरी ट्रैफ़िक कम हो जाता है.
तेज़ पाथ ऑप्टिमाइज़ेशन के लिए, बफ़र की मेमोरी को होस्ट पर दिखना चाहिए. साथ ही, इस पर जीपीयू के कोई भी ऑपरेशन पेंडिंग नहीं होने चाहिए. समस्या 42242084 देखें.
शेडर कंपाइल करने में लगने वाले समय को कम करना
Chrome की टीम, WebGPU शेडर लैंग्वेज के कंपाइलर, Tint की क्षमता को बेहतर बना रही है. Tint, मशीन कोड जनरेट करने से पहले, शेडर कोड के ऐब्स्ट्रैक्ट सिंटैक्स ट्री (एएसटी) में कई बार बदलाव करता है. कुछ प्लैटफ़ॉर्म पर, इस प्रोसेस में ज़्यादा संसाधनों का इस्तेमाल होता है. इसे ऑप्टिमाइज़ करने के लिए, एक नया इंटरमीडिएट रिप्रेजेंटेशन (आईआर) पेश किया जा रहा है. इसके साथ ही, फिर से डिज़ाइन किए गए बैकएंड भी पेश किए जा रहे हैं जो इसका इस्तेमाल करते हैं. इस बदलाव का मकसद, शेडर कंपाइल करने की प्रोसेस को तेज़ करना है.
ये सुधार, Android पर पहले से उपलब्ध हैं. इन्हें धीरे-धीरे ChromeOS डिवाइसों पर भी उपलब्ध कराया जा रहा है. इन डिवाइसों पर, Vulkan बैकएंड के साथ WebGPU काम करता है. समस्या 42250751 देखें.
सबमिट किए गए कमांड बफ़र यूनीक होने चाहिए
GPUQueue को submit() तरीके से सबमिट किया गया हर GPUCommandBuffer यूनीक होना चाहिए. ऐसा न होने पर, पुष्टि करने में गड़बड़ी होती है. यह स्पेसिफ़िकेशन में मौजूद एक बग था. समस्या 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 अब Swapchain ऑब्जेक्ट के कॉन्सेप्ट को नहीं दिखाता. यह बदलाव, JavaScript API के साथ बेहतर तरीके से काम करने के लिए किया गया है. इंटरनल कॉन्फ़िगरेशन अब नए wgpu::Surface ऑब्जेक्ट के Configure() तरीके से किया जाता है. इसमें आने वाले समय में बदलाव किए जा सकते हैं. WebGPU की मदद से ऐप्लिकेशन बनाने से जुड़े दस्तावेज़ में एक उदाहरण देखें. समस्या 42241264 देखें.
कमिट की पूरी सूची देखें.
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 टेक्सचर की सुविधा
- "कोर-फ़ीचर-एंड-लिमिट" की नई सुविधा
- 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 से जुड़े अपडेट