काम करने वाले WGSL भाषा एक्सटेंशन
GPU
ऑब्जेक्ट के wgslLanguageFeatures
सदस्य में, इस्तेमाल किए जा सकने वाले WGSL भाषा एक्सटेंशन के नाम होते हैं. इसके साथ काम करने वाले WGSL भाषा एक्सटेंशन अपने-आप चालू हो जाते हैं. इसलिए, आपको अलग से इसके लिए अनुरोध करने की ज़रूरत नहीं होती. फ़िलहाल, यह सूची खाली है. हालांकि, आने वाले समय में आपको कई गड़बड़ियां दिख सकती हैं (उदाहरण के लिए, do-while loops
). रिलीज़ होने का समय:1777 देखें.
if (navigator.gpu.wgslLanguageFeatures?.has("unknown-feature")) {
// Use unknown-feature in WGSL shader code.
}
Direct3D 11 के लिए प्रायोगिक समर्थन
Chromium की टीम, Direct3D 11 के लिए WebGPU सपोर्ट जोड़ने पर काम कर रही है. अब Windows पर Chrome को --enable-unsafe-webgpu --use-webgpu-adapter=d3d11
कमांड लाइन फ़्लैग के साथ चलाकर, स्थानीय तौर पर एक्सपेरिमेंट किया जा सकता है. समस्या सुबह:1705 देखें.
एसी पावर पर, अलग-अलग जीपीयू डिफ़ॉल्ट रूप से पाएं
ड्यूअल जीपीयू macOS डिवाइसों पर, अगर requestAdapter()
को powerPreference
विकल्प के बिना कॉल किया जाता है, तो उपयोगकर्ता के डिवाइस में एसी पावर चालू होने पर, डिस्क्रीट जीपीयू दिखता है. ऐसा न करने पर, इंटिग्रेट किया गया जीपीयू वापस मिल जाता है. बदलें 4499307 देखें.
डेवलपर के अनुभव को बेहतर बनाना
DevTools से जुड़ी नई चेतावनियां
अगर GPUExtend3DDict
में depth
कुंजी का इस्तेमाल किया गया है, तो DevTools कंसोल में चेतावनी दिखेगी. ऐसा इसलिए है, क्योंकि सही कुंजी depthOrArrayLayers
है. Chromium समस्या:1440900 के बारे में देखें.
अगर GPUBlendComponent
में अश्लील कॉन्टेंट वाले और डिफ़ॉल्ट रूप से सेट किए गए सदस्य, दोनों मौजूद हैं, तब भी चेतावनी भेजी जाती है. रिलीज़ सुबह:1785 देखें.
भले ही, ज़ीरो साइज़ वाले डिस्पैच और ड्रॉ मान्य होते हैं, लेकिन एक चेतावनी, डेवलपर को जब भी संभव हो उनसे बचने के लिए बढ़ावा देती है. रिलीज़ सुबह:1786 देखें.
गड़बड़ी के बेहतर मैसेज
अगर finish()
को पहले ही कॉल किया जा चुका है, तो GPUCommandEncoder
का इस्तेमाल करने पर, गड़बड़ी का बेहतर मैसेज मिलता है. जारी करने का समय:1736 देखें.
खत्म किए गए ऑब्जेक्ट वाले कमांड बफ़र सबमिट करते समय, submit()
में इस्तेमाल किए गए कमांड बफ़र के लेबल, अब गड़बड़ी के मैसेज में दिखते हैं. अंक सुबह:1747 देखें.
depthStencil
की पुष्टि करते समय, डेप्थ स्टेंसिल की स्थिति के अमान्य हिस्से की जानकारी अब गड़बड़ी के मैसेज में दी गई है. जारी करने का समय:1735 देखें.
minBindingSize
की पुष्टि से जुड़ी गड़बड़ी का मैसेज, अब पुष्टि न हो पाने वाली बाइंडिंग की संख्या और ग्रुप की रिपोर्ट करता है. साथ ही, बफ़र की जानकारी भी देता है. जारी करने का समय: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 या Instrument में देखा जा सकता है. अब से macOS पर, डीबग करने का बेहतर अनुभव मिलता है. हालांकि, इसे डीबग करने के लिए चालू किया जा सकता है. जारी करने का समय:1784 देखें
अगर कंपाइलेशन विफल हो जाता है, तो HLSL को लॉग करें
dump_shaders
डीबग टॉगल की मदद से, इनपुट के तौर पर WGSL शेडर और अनुवाद किए गए बैकएंड शेडर को लॉग किया जा सकता है. अब से, जब इसे डीबगिंग के लिए चालू किया जाता है, तो HLSL को कंपाइल नहीं करने पर उसे मिटा दिया जाता है. जारी वाला सुबह:1681 देखें
Dawn के अपडेट
वर्टेक्स बफ़र को अनसेट करें
wgpu::RenderPassEncoder
या wgpu::RenderBundleEncoder
पर wgpu::Buffer
के बजाय nullptr
को SetVertexBuffer()
पर पास करने से, आपको दिए गए स्लॉट में पहले से सेट वर्टेक्स बफ़र को अनसेट किया जा सकता है. समस्या सुबह: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
के इस्तेमाल को सेट करके, संभावित तौर पर टेक्सचर के लिए वीआरएएम के आवंटन को बचाते हैं. यह सुविधा सिर्फ़ मेटल और 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 विकल्प आपको Python स्क्रिप्ट का इस्तेमाल करके, Dawn की डिपेंडेंसी फ़ेच करने की अनुमति देता है. Python स्क्रिप्ट पर निर्भर सभी प्रोजेक्ट के लिए depot_tools
को इंस्टॉल करने की ज़रूरत के बजाय, DEPS फ़ाइलों को पढ़ता है. बदलाव 131750 देखें.
WebGPU में नया क्या है
WebGPU में नया क्या है सीरीज़ में शामिल सभी चीज़ों की सूची.
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 के बारे में अपडेट