إلغاء ضبط المخزن المؤقت للرؤوس
يسمح لك تمرير null بدلاً من GPUBuffer إلى setVertexBuffer() على GPURenderPassEncoder أو GPURenderBundleEncoder بإلغاء ضبط مخزن مؤقت للرؤوس تم ضبطه سابقًا في موضع معيّن. راجِع المشكلة dawn:1675.
// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);
// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);
إلغاء ضبط مجموعة الربط
يسمح لك تمرير null بدلاً من GPUBindGroup إلى setBindGroup() على GPURenderPassEncoder أو GPURenderBundleEncoder بإلغاء ضبط مجموعة ربط تم ضبطها سابقًا في موضع معيّن. راجِع المشكلة dawn:1675.
// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);
// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);
إخفاء الأخطاء الناتجة عن إنشاء مسار غير متزامن عند فقدان الجهاز
تعرض الطريقتان createComputePipelineAsync() وcreateRenderPipelineAsync() في GPUDevice وعدًا يتم تنفيذه عند اكتمال إنشاء المسار. اعتبارًا من الآن، سيتم إخفاء الأخطاء الناتجة عن إنشاء المسار غير المتزامن عندما تكون قيمة GPUDevice هي lost لجعل الأجهزة المفقودة تبدو وكأنّها تعمل قدر الإمكان. راجِع المشكلة dawn:1874.
تعديلات على إنشاء وحدة تظليل SPIR-V
يؤدي إنشاء وحدة تظليل SPIR-V باستخدام createShaderModule() الآن إلى ظهور خطأ TypeError ما لم يتم تشغيل Chrome باستخدام العلامة "Unsafe WebGPU Support" flag، لأنّ SPIR-V ليس جزءًا من مواصفات WebGPU. قبل هذا التغيير، كان استخدام SPIR-V يؤدي إلى إنشاء GPUInternalError بدلاً من ذلك.
راجِع التغيير chromium:4711911.
تحسين تجربة المطوّرين
تم تحسين رسالة خطأ التحقّق من الصحة لعمليات ربط تنسيق مجموعة الربط في تظليل الرؤوس لعمليات ربط مخزن التخزين للقراءة والكتابة وعمليات ربط زخرفة التخزين للكتابة فقط. راجِع المشكلة dawn:1883.
تخزين المسارات مؤقتًا باستخدام التنسيق الذي تم إنشاؤه تلقائيًا
تستفيد المسارات التي تم إنشاؤها باستخدام createRenderPipeline({ layout: "auto" }) الآن من آليات التخزين المؤقت في Chrome. يعني ذلك أنّه سيتم إنشاء هذه المسارات بكفاءة أكبر وستستخدم ذاكرة أقل. راجِع المشكلة dawn:1933.
تعديلات على Dawn
أصبح wgpu::RequestAdapterOptionsBackendType الآن جزءًا من wgpu::RequestAdapterOptions لتسهيل طلب التطبيقات لواجهة خلفية معيّنة عند الحصول على محوّل. راجِع المثال التالي والمشكلة dawn:1875.
wgpu::RequestAdapterOptions options = {
.backendType = wgpu::BackendType::D3D12};
// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);
تم تنفيذ عدة طرق إضافية لـ Node.js. راجِع التغيير dawn:142465.
غيّر webgpu.h C API نوع القيم المنطقية من stdbool إلى WGPUBool، وهو uint32_t. تم إجراء هذا التغيير لضمان توفّر واجهة ثنائية للتطبيق (ABI) مكافئة في C وC++.
لا يغطي هذا المستند سوى بعض النقاط الرئيسية. يمكنك الاطّلاع على القائمة الشاملة لعمليات الإرسال.
الميزات الجديدة في WebGPU
في ما يلي قائمة بكل ما تم تناوله في سلسلة "الميزات الجديدة في WebGPU".
Chrome 151-152
- التحكّم في حجم المجموعة الفرعية
- OperationError لحالات تعذُّر التحقّق من صحة setImmediates
- تعديلات على Dawn
Chrome 149-150
Chrome 147-148
Chrome 146
- إتاحة وضع التوافق مع WebGPU على OpenGL ES 3.1
- المرفقات المؤقتة
- إضافة texture_and_sampler_let في WGSL
- تعديلات على Dawn
Chrome 145
Chrome 144
- إضافة subgroup_id في WGSL
- إضافة uniform_buffer_standard_layout في WGSL
- WebGPU على Linux
- تسريع writeBuffer وwriteTexture
- تعديلات على Dawn
Chrome 143
Chrome 142
Chrome 141
- اكتمل Tint IR
- تحليل نطاق الأعداد الصحيحة في برنامج التحويل البرمجي WGSL
- تعديل SPIR-V 1.4 للواجهة الخلفية Vulkan
- تعديلات على Dawn
Chrome 140
- تستهلك طلبات الجهاز المحوّل
- اختصار لاستخدام الزخرفة عندما يتم استخدام طريقة عرض الزخرفة
- تتوافق WGSL textureSampleLevel مع الزخارف الأحادية الأبعاد
- إيقاف استخدام زخرفة التخزين للقراءة فقط bgra8unorm نهائيًا
- إزالة سمة GPUAdapter isFallbackAdapter
- تعديلات على Dawn
Chrome 139
- إتاحة الزخارف الثلاثية الأبعاد لتنسيقات BC وASTC المضغوطة
- ميزة جديدة "core-features-and-limits"
- مرحلة التجربة والتقييم لوضع التوافق مع WebGPU
- تعديلات على Dawn
Chrome 138
- اختصار لاستخدام المخزن المؤقت كمورد ربط
- تغييرات على متطلبات حجم المخازن المؤقتة التي يتم ربطها عند الإنشاء
- تقرير البنية لوحدات معالجة الرسومات الحديثة
- إيقاف سمة GPUAdapter isFallbackAdapter نهائيًا
- تعديلات على Dawn
Chrome 137
- استخدام طريقة عرض الزخرفة لربط externalTexture
- نسخ المخازن المؤقتة بدون تحديد الإزاحات والحجم
- WGSL workgroupUniformLoad باستخدام مؤشر إلى atomic
- سمة GPUAdapterInfo powerPreference
- إزالة سمة GPURequestAdapterOptions compatibilityMode
- تعديلات على Dawn
Chrome 136
- سمة GPUAdapterInfo isFallbackAdapter
- تحسينات على وقت تجميع التظليل على D3D12
- حفظ صور لوحة الرسم ونسخها
- إزالة القيود المفروضة على وضع التوافق
- تعديلات على Dawn
Chrome 135
- السماح بإنشاء تنسيق مسار باستخدام تنسيق مجموعة ربط فارغ
- السماح بتوسيع منافذ العرض لتتجاوز حدود أهداف العرض
- تسهيل الوصول إلى وضع التوافق التجريبي على Android
- إزالة الحد الأقصى maxInterStageShaderComponents
- تعديلات على Dawn
Chrome 134
- تحسين أحمال تعلُّم الآلة باستخدام المجموعات الفرعية
- إزالة إتاحة أنواع الزخارف القابلة للفلترة من النوع float كأنواع قابلة للمزج
- تعديلات على Dawn
Chrome 133
- تنسيقات رؤوس إضافية unorm8x4-bgra وذات مكوّن واحد
- السماح بطلب حدود غير معروفة بقيمة غير محدّدة
- تغييرات على قواعد المحاذاة في WGSL
- تحسينات على الأداء في WGSL باستخدام discard
- استخدام VideoFrame displaySize للزخارف الخارجية
- التعامل مع الصور ذات الاتجاهات غير التلقائية باستخدام copyExternalImageToTexture
- تحسين تجربة المطوّرين
- تفعيل وضع التوافق باستخدام featureLevel
- تنظيف ميزات المجموعات الفرعية التجريبية
- إيقاف الحد الأقصى maxInterStageShaderComponents نهائيًا
- تعديلات على Dawn
Chrome 132
- استخدام طريقة عرض الزخرفة
- مزج الزخارف من النوع float ذات 32 بت
- سمة GPUDevice adapterInfo
- ضبط سياق لوحة الرسم بتنسيق غير صالح يؤدي إلى ظهور خطأ JavaScript
- قيود فلترة أداة أخذ العيّنات على الزخارف
- تجربة المجموعات الفرعية الموسّعة
- تحسين تجربة المطوّرين
- إتاحة تجريبية لتنسيقات الزخارف العادية ذات 16 بت
- تعديلات على Dawn
Chrome 131
- مسافات القطع في WGSL
- GPUCanvasContext getConfiguration()
- يجب ألا تتضمّن الأشكال الأساسية للنقاط والخطوط انحيازًا في العمق
- وظائف مدمجة للفحص الشامل للمجموعات الفرعية
- إتاحة تجريبية لـ multi-draw indirect
- خيار تجميع وحدة التظليل البرمجية strict math
- إزالة GPUAdapter requestAdapterInfo()
- تعديلات على Dawn
Chrome 130
- المزج من مصدرَين
- تحسينات على وقت تجميع التظليل على Metal
- إيقاف GPUAdapter requestAdapterInfo() نهائيًا
- تعديلات على Dawn
Chrome 129
- إتاحة النطاق العالي الديناميكية (HDR) باستخدام وضع ربط درجات الألوان في لوحة الرسم
- إتاحة موسّعة للمجموعات الفرعية
- تعديلات على Dawn
Chrome 128
- تجربة المجموعات الفرعية
- إيقاف ضبط انحياز العمق للخطوط والنقاط نهائيًا
- إخفاء تحذير "أدوات مطوري البرامج" بشأن الخطأ غير الذي لم يتم رصده إذا كانت قيمة preventDefault هي true
- WGSL interpolate sampling first and either
- تعديلات على Dawn
Chrome 127
- إتاحة تجريبية لـ OpenGL ES على Android
- سمة GPUAdapter info
- تحسينات على التوافق التشغيلي مع WebAssembly
- أخطاء محسّنة في أداة ترميز الأوامر
- تعديلات على Dawn
Chrome 126
- زيادة الحد الأقصى maxTextureArrayLayers
- تحسين تحميل المخزن المؤقت للواجهة الخلفية Vulkan
- تحسينات على وقت تجميع التظليل
- يجب أن تكون المخازن المؤقتة للأوامر التي تم إرسالها فريدة
- تعديلات على Dawn
Chrome 125
Chrome 124
- زخارف التخزين للقراءة فقط والقراءة والكتابة
- إتاحة عاملو الخدمة والعاملون المشترَكون
- سمات جديدة لمعلومات المحوّل
- إصلاح الأخطاء
- تعديلات على Dawn
Chrome 123
- إتاحة الوظائف المدمجة DP4a في WGSL
- مَعلمات المؤشرات غير المقيّدة في WGSL
- التجميل اللغوي لبنية إلغاء الإشارة إلى المكوِّنات في WGSL
- حالة للقراءة فقط منفصلة لجوانب الاستنسل والعمق
- تعديلات على Dawn
Chrome 122
- توسيع مدى الوصول باستخدام وضع التوافق (ميزة قيد التطوير)
- زيادة الحد الأقصى maxVertexAttributes
- تعديلات على Dawn
Chrome 121
- إتاحة WebGPU على Android
- استخدام DXC بدلاً من FXC لتجميع التظليل على Windows
- طلبات الطابع الزمني في عمليات الحوسبة والعرض
- نقاط الدخول التلقائية إلى وحدات التظليل
- إتاحة display-p3 كمساحة ألوان GPUExternalTexture
- معلومات عن مساحات الذاكرة
- تعديلات على Dawn
Chrome 120
- إتاحة القيم النقطية العائمة ذات 16 بت في WGSL
- قدّم أفضل ما لديك
- تغييرات على حالة العمق والاستنسل
- تعديلات على معلومات المحوّل
- تحديد كمية طلبات الطابع الزمني
- ميزات التنظيف الشامل
Chrome 119
- زخارف float ذات 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