Published: August 27, 2025
طلبات الأجهزة تستهلك المحوّل
وفقًا لمواصفات WebGPU، يتم وضع علامة "مستهلك" على المحوّل عند نجاح طلب الجهاز. وبالتالي، ستؤدي أي طلبات لاحقة لـ requestDevice() تستخدم المحوّل نفسه إلى رفض الوعد الآن. في السابق، كانت هذه الطلبات تعرض جهازًا تم فقدانه عند إنشائه. يمكنك الاطّلاع على المشكلة 415825174.
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
await adapter.requestDevice(); // Fails because adapter has been consumed.
اختصار لاستخدام الزخرفة عندما يتم استخدام طريقة عرض الزخرفة
يمكن الآن استخدام GPUTexture مباشرةً كـ GPUBindingResource لعرضه على أداة التظليل من أجل الربط. ويمكن أيضًا استخدامه كـ GPURenderPassColorAttachment view وGPURenderPassColorAttachment resolveTarget وGPURenderPassDepthStencilAttachment view لتحسين بيئة العمل. ويوفّر ذلك طريقة أبسط من استخدام GPUTextureView للحصول على طريقة عرض تلقائية. يمكنك الاطّلاع على المشكلة 425906323.
const bindGroup = myDevice.createBindGroup({
layout: myPipeline.getBindGroupLayout(0),
entries: [
{ binding: 0, resource: mySampler },
{ binding: 1, resource: myTexture }, // Same as myTexture.createView()
{ binding: 2, resource: myExternalTexture },
{ binding: 3, resource: myBuffer },
],
});
تتيح الدالة WGSL textureSampleLevel استخدام الزخارف الأحاديّة الأبعاد
يمكن الآن أخذ عيّنات باستخدام textureSampleLevel() لتحقيق الاتساق مع الزخارف الثنائية الأبعاد. يتيح لك ذلك أخذ عيّنة من زخرفة أحادية الأبعاد من أداة تظليل رأس، وهو ما كان ممكنًا سابقًا فقط من جزء أداة تظليل باستخدام textureSample(). يمكنك الاطّلاع على المشكلة 382514673.
إيقاف استخدام زخرفة التخزين للقراءة فقط بتنسيق bgra8unorm نهائيًا
تم الآن إيقاف استخدام تنسيق "bgra8unorm" مع زخارف التخزين للقراءة فقط نهائيًا. تمنع مواصفات WebGPU ذلك صراحةً، وكان السماح بذلك سابقًا في Chrome خطأً، لأنّ هذا التنسيق مخصّص للوصول للقراءة فقط وغير قابل للنقل. يمكنك الاطّلاع على المشكلة 427681156.
إزالة سمة isFallbackAdapter في GPUAdapter
كما سبق الإعلان عنه، تمت الآن إزالة سمة GPUAdapter isFallbackAdapter. تم استبدالها بسمة isFallbackAdapter في GPUAdapterInfo التي تم طرحها في Chrome 136. يمكنك الاطّلاع على نية الإزالة.
آخر الأخبار من Dawn
تُستخدَم الدالة wgpuInstanceGetWGSLLanguageFeatures() للحصول على قائمة بميزات لغة WGSL التي تتيحها النسخة. في السابق، كانت هذه الدالة تعرض قيمة WGPUStatus. تم تعديلها لعدم عرض قيمة لأنّها لا يمكن أن تفشل. يمكنك الاطّلاع على المشكلة 429178774.
تعرض الدالة wgpuSurfacePresent() الآن خطأً من نوع WGPUStatus إذا لم يكن للسطح زخرفة حالية. يمكنك الاطّلاع على المشكلة 425930323
تتيح الميزة الجديدة wgpu::InstanceFeatureName::MultipleDevicesPerAdapter للمحوّلات إنشاء أجهزة متعدّدة بدون أن يتم "استهلاكها". يمكنك الاطّلاع على المشكلة 415825174.
يتيح لك مفتاح تبديل الجهاز dump_shaders_on_failure إيقاف التظليلات فقط عند حدوث خطأ لأغراض تحديد المشاكل وحلّها. ينطبق ذلك حصريًا على واجهات D3 الخلفية، ولكن من الممكن توسيعه ليشمل واجهات خلفية أخرى في المستقبل. يمكنك الاطّلاع على المشكلة 429187478.
تم إجراء تغييرات متعدّدة على واجهة Vulkan الخلفية لتقليل النفقات العامة عند إرسال عمليات عرض، خاصةً لتحسين الأداء على وحدات معالجة الرسومات الجوّالة. على سبيل المثال، تخزين VkFramebuffers مؤقتًا.
لا يغطي ذلك سوى بعض النقاط الرئيسية. يمكنك الاطّلاع على القائمة الشاملة لعمليات الإرسال.
الميزات الجديدة في WebGPU
في ما يلي قائمة بكل ما تم تناوله في سلسلة "الميزات الجديدة في WebGPU".
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 نهائيًا
- إزالة سمة isFallbackAdapter في GPUAdapter
- آخر الأخبار من Dawn
Chrome 139
- إتاحة استخدام الزخارف الثلاثية الأبعاد لتنسيقات BC وASTC المضغوطة
- ميزة جديدة باسم "core-features-and-limits"
- مرحلة التجربة والتقييم لوضع التوافق مع WebGPU
- آخر الأخبار من Dawn
Chrome 138
- اختصار لاستخدام المخزن المؤقت كمورد ربط
- تغييرات في متطلبات حجم المخازن المؤقتة التي يتم ربطها عند الإنشاء
- تقرير بنية وحدات معالجة الرسومات الحديثة
- إيقاف سمة isFallbackAdapter في GPUAdapter نهائيًا
- آخر الأخبار من Dawn
Chrome 137
- استخدام طريقة عرض الزخرفة لربط externalTexture
- نسخ المخازن المؤقتة بدون تحديد الإزاحات والحجم
- استخدام WGSL workgroupUniformLoad لمؤشر إلى atomic
- سمة powerPreference في GPUAdapterInfo
- إزالة سمة compatibilityMode في GPURequestAdapterOptions
- آخر الأخبار من Dawn
Chrome 136
- سمة isFallbackAdapter في GPUAdapterInfo
- تحسينات في وقت تجميع التظليل على D3D12
- حفظ صور لوحة الرسم ونسخها
- إزالة القيود المفروضة على وضع التوافق
- آخر الأخبار من Dawn
Chrome 135
- السماح بإنشاء تنسيق خط أنابيب باستخدام تنسيق مجموعة ربط فارغ
- السماح بتوسيع منافذ العرض لتتجاوز حدود أهداف العرض
- تسهيل الوصول إلى وضع التوافق التجريبي على Android
- إزالة الحد الأقصى maxInterStageShaderComponents
- آخر الأخبار من Dawn
Chrome 134
- تحسين أحمال عمل تعلُّم الآلة باستخدام المجموعات الفرعية
- إزالة إتاحة أنواع الزخارف القابلة للفلترة من النوع float كأنواع قابلة للمزج
- آخر الأخبار من Dawn
Chrome 133
- تنسيقات رأس إضافية unorm8x4-bgra وذات مكوّن واحد
- السماح بطلب حدود غير معروفة بقيمة غير محدّدة
- تغييرات في قواعد المحاذاة في WGSL
- تحسينات في الأداء في WGSL باستخدام discard
- استخدام displaySize في VideoFrame للزخارف الخارجية
- التعامل مع الصور ذات الاتجاهات غير التلقائية باستخدام copyExternalImageToTexture
- تحسين تجربة المطوّرين
- تفعيل وضع التوافق باستخدام featureLevel
- تنظيف الميزات التجريبية للمجموعات الفرعية
- إيقاف الحد الأقصى maxInterStageShaderComponents نهائيًا
- آخر الأخبار من Dawn
Chrome 132
- استخدام طريقة عرض الزخرفة
- مزج الزخارف من النوع float ذات 32 بت
- سمة adapterInfo في GPUDevice
- ضبط سياق لوحة الرسم بتنسيق غير صالح يؤدي إلى عرض خطأ 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
- أخذ عيّنات من WGSL interpolate أولاً ثم إما
- آخر الأخبار من Dawn
Chrome 127
- إتاحة تجريبية لـ OpenGL ES على Android
- سمة info في GPUAdapter
- تحسينات في التوافق بين WebAssembly وJavaScript
- أخطاء محسّنة في أداة ترميز الأوامر
- آخر الأخبار من 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