الميزات الجديدة في WebGPU (إصدار Chrome 138)

François Beaufort
François Beaufort

تاريخ النشر: 17 يونيو 2025

اختصار لاستخدام المخزن المؤقت كمورد ربط

يمكن للمطوّرين الآن استخدام GPUBuffer مباشرةً كـ GPUBindingResource لعرضه على أداة التظليل من أجل الربط. وهذا يجعلها متوافقة مع أنواع الربط الأخرى وأسهل استخدامًا من GPUBufferBinding عندما يستخدم كل من الحجم والإزاحة القيم التلقائية. يمكنك الاطّلاع على المشكلة 419223794.

const bindGroup = myDevice.createBindGroup({
  layout: myPipeline.getBindGroupLayout(0),
  entries: [
    { binding: 0, resource: mySampler },
    { binding: 1, resource: myTextureView },
    { binding: 2, resource: myExternalTexture },
    { binding: 3, resource: myBuffer }, // Same as { buffer: myBuffer }
    { binding: 4, resource: { buffer: myOtherBuffer, offset: 42 },
  ],
});

تغييرات في متطلبات الحجم للمخازن المؤقتة التي تم ربطها عند الإنشاء

سيؤدي إنشاء مخزن مؤقت مع ضبط mappedAtCreation على "صحيح" الآن إلى عرض RangeError إذا لم يكن size مضاعفًا للرقم 4. في السابق، كان يتم فرض ذلك باستخدام GPUValidationError فقط. يُرجى الاطّلاع على المشكلة 405883445.

myDevice.createBuffer({
  mappedAtCreation: true,
  size: 42,
  usage: GPUBufferUsage.STORAGE,
});
// Throws RangeError

تقرير البنية لوحدات معالجة الرسومات الحديثة

تعرض أحدث وحدات معالجة الرسومات من Nvidia وAMD الآن بنيتها في GPUAdapterInfo على النحو "blackwell" و"rdna4" على التوالي، بالإضافة إلى بعض الإضافات الثانوية الأخرى إلى قوائم بنية وحدة معالجة الرسومات. يمكنك الاطّلاع على المشكلة 417202748.

إيقاف سمة isFallbackAdapter في GPUAdapter نهائيًا

تم إيقاف سمة isFallbackAdapter في GPUAdapter نهائيًا. تم استبدالها بسمة isFallbackAdapter GPUAdapterInfo التي تم طرحها في الإصدار 136 من Chrome. اطّلِع على إشعار الإيقاف النهائي.

تعديلات الفجر

يتوافق Emscripten مع Dawn GLFW لإنشاء CMake، ما يتيح للمطوّرين تبسيط رمز تطبيق WebGPU المتوافق مع عدّة منصات بشكل أكبر عند استخدام Emdawnwebgpu، الذي ينفّذ أحدث إصدار موحّد من webgpu.h عبر واجهة برمجة التطبيقات للمتصفّح. راجِع التغيير dawn:242894.

للحصول على دليل كامل، اطّلِع على مستندات إنشاء تطبيق باستخدام WebGPU المحدّثة.

تم الآن تضمين منفذ Emdawnwebgpu "بعيد" في إصدارات الحزمة. تم تضمين لقطة من هذا المنفذ في الإصدار 4.0.10 والإصدارات الأحدث من Emscripten، والتي تتيح الآن استخدام المنافذ المستضافة خارجيًا. أصبح التبديل إلى Emdawnwebgpu يتطلّب تغيير علامة واحدة من emcc -sUSE_WEBGPU إلى emcc --use-port=emdawnwebgpu. يُرجى الاطّلاع على Emscripten PR #24303 و#24220 وDawn CL 243214.

هذا يشمل بعض النقاط الرئيسية فقط. اطّلِع على قائمة عمليات الدمج الشاملة.

الميزات الجديدة في WebGPU

قائمة بكل ما تم تناوله في سلسلة الميزات الجديدة في WebGPU

‫Chrome 155-156

‫Chrome 153-154

‫Chrome 151-152

‫Chrome 149-150

Chrome 147-148

‫Chrome 146

‫Chrome 145

‫Chrome 144

Chrome 143

‫Chrome 142

‫Chrome 141

Chrome 140

‫Chrome 139

‫Chrome 138

‫Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

‫Chrome 132

Chrome 131

Chrome 130

Chrome 129

‫Chrome 128

Chrome 127

Chrome 126

‫Chrome 125

Chrome 124

Chrome 123

‫Chrome 122

Chrome 121

‫Chrome 120

‫Chrome 119

‫Chrome 118

Chrome 117

Chrome 116

Chrome 115

‫Chrome 114

‫Chrome 113