الميزات الجديدة في WebGPU (Chrome 117)

François Beaufort
François Beaufort

إلغاء ضبط المخزن المؤقت للرأس

يؤدي تمرير null بدلاً من GPUBuffer إلى setVertexBuffer() في GPURenderPassEncoder أو GPURenderBundleEncoder إلى السماح لك بإلغاء ضبط مخزن رأسي تم ضبطه مسبقًا في خانة معيّنة. راجِع عدد الفجر: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 إلى السماح لك بإلغاء ضبط مجموعة ربط تم إعدادها سابقًا في خانة معيّنة. راجِع عدد الفجر: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، لكي تعمل الأجهزة المفقودة بأكبر قدر ممكن. راجِع مشكلة الفجر:1874.

تعديلات على إنشاء وحدة تظليل SPIR-V

يؤدي إنشاء وحدة تظليل SPIR-V باستخدام createShaderModule() الآن إلى ظهور TypeError ما لم يتم تشغيل Chrome باستخدام Unsafe WebGPU Support. flag لأنّ SPIR-V ليس جزءًا من مواصفات WebGPU. قبل إجراء هذا التغيير، كان يؤدي استخدام SPIR-V إلى إنشاء GPUInternalError بدلاً من ذلك. راجِع تغيير chromium:4711911.

تحسين تجربة المطوّرين

تم تحسين رسالة خطأ التحقق من عمليات ربط تنسيق المجموعة في أداة تظليل رأس الصفحة في ما يتعلّق بالمخزن المؤقت للتخزين والكتابة والكتابة وربط مواد التخزين بالكتابة فقط. راجِع عدد الفجر:1883.

مسارات التخزين المؤقت باستخدام التنسيق الذي يتم إنشاؤه تلقائيًا

تستفيد الآن المسارات التي تم إنشاؤها باستخدام createRenderPipeline({ layout: "auto" }) من آليات التخزين المؤقت في Chrome. وهذا يعني أنه سيتم إنشاء المسارات بشكل أكثر كفاءة وستستخدم ذاكرة أقل. راجِع عدد الفجر:1933.

آخر أخبار الفجر

أصبح wgpu::RequestAdapterOptionsBackendType الآن جزءًا من wgpu::RequestAdapterOptions لتسهيل على التطبيقات طلب خلفية معيّنة عند الحصول على محوّل. راجِع المثال التالي وإصدار سمة dawn:1875.

wgpu::RequestAdapterOptions options = {
    .backendType = wgpu::BackendType::D3D12};

// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);

تمّ تطبيق عدّة طرق إضافية لبروتوكول Node.js. راجِع تغيير وقت الفجر:142465.

غيّرت واجهة برمجة التطبيقات webgpu.h C API نوع القيم المنطقية من stdbool إلى WGPUBool، وهو uint32_t. تم إجراء هذا التغيير للتأكّد من أنّ واجهة برمجة التطبيقات لها ABI مكافئ في C وC++.

يتناول هذا فقط بعض النقاط الرئيسية. يمكنك الاطّلاع على قائمة الالتزامات الشاملة.

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

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

الإصدار 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 من Chrome