webgpu

  
واجهة برمجة تطبيقات حديثة لوحدة معالجة الرسومات (GPU) للرسومات والحوسبة من Kotlin
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأولي
‫22 أبريل 2026 - - - 1.0.0-alpha05

تحديد الاعتماديات

لإضافة اعتمادية على Webgpu، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

Groovy

dependencies {
    implementation "androidx.webgpu:webgpu:1.0.0-alpha05"
}

Kotlin

dependencies {
    implementation("androidx.webgpu:webgpu:1.0.0-alpha05")
}

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

لا تتوفّر ملاحظات إصدار لهذا العنصر.

الإصدار 1.0 من Webgpu

الإصدار ‎1.0.0-alpha05

‫22 أبريل 2026

تم طرح androidx.webgpu:webgpu:1.0.0-alpha05. يتضمّن الإصدار ‎1.0.0-alpha05 هذه التعديلات.

الميزات والثوابت الجديدة

  • قيود وضع التوافق

    • تمت إضافة GPUCompatibilityModeLimitsBuilder المقابل) لتحديد الحدود الخاصة بوضع التوافق.
    • يتضمّن حدودًا معيّنة، مثل maxStorageBuffersInVertexStage وmaxStorageTexturesInFragmentStage.
    • تم دمج هذا العنصر كسمة اختيارية ضمن GPULimits.
  • أبعاد عرض ربط الملمس

    • تمت إضافة GPUTextureBindingViewDimension لتوفير تحكّم أكثر دقة في عمليات ربط طرق عرض الأنسجة.
    • يمكن الآن تحديدها ضمن GPUTextureDescriptor.
  • الثوابت الجديدة والميزات المتوافقة

    • TextureUsage: تمت إضافة TransientAttachment.
    • WGSLLanguageFeatureName:
      • تمت إضافة "SubgroupUniformity".
      • تمت إضافة "TextureFormatsTier1".
    • SType: تمت إضافة ما يلي:
      • ExternalTextureBindingLayout
      • ExternalTextureBindingEntry
      • CompatibilityModeLimits
      • TextureBindingViewDimension

التغييرات في واجهة برمجة التطبيقات

  • إعادة تصميم التعليق التوضيحي IntDef: تمت إعادة تصميم التعريف البنيوي لجميع التعدادات (مثل AdapterType وTextureFormat وBufferUsage وLoadOp وما إلى ذلك). وقد تم نقلها من فئات التعليقات التوضيحية العامة إلى فئات الدوال الإنشائية الخاصة التي تحتوي على فئة تعليقات توضيحية .Type مدمجة. نتيجةً لذلك، تم تعديل تعليقات المَعلمات التوضيحية في جميع أنحاء المكتبة من @FormatName إلى @FormatName.Type (على سبيل المثال، تغيير @TextureFormat إلى @TextureFormat.Type).
  • تعديلات على واصف Texture View: تقبل السمة GPUTextureViewDescriptor الآن المَعلمة usage (@TextureUsage.Type)، ما يتيح تحديد الاستخدامات المحدّدة مباشرةً في Texture View.

ملاحظة مهمة: تم إنشاء المستندات المتوفّرة في إصدار المكتبة هذا باستخدام Google Gemini، وقد تحتوي على أخطاء.

الإصدار ‎1.0.0-alpha04

‫11 فبراير 2026

تم طرح androidx.webgpu:webgpu:1.0.0-alpha04. يتضمّن الإصدار ‎1.0.0-alpha04 هذه التعديلات.

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

  • نمط الإنشاء: تم تقديم فئات Builder ثابتة لجميع عناصر الواصف والحالة (مثل GPUDeviceDescriptor.Builder وGPURenderPipelineDescriptor.Builder) لتبسيط إنشاء العناصر وتحسين إمكانية التشغيل التفاعلي مع Java.
  • مجموعة الاختبارات الموسّعة: أضفنا المزيد من الاختبارات، بما في ذلك اختبارات لإضافات تحويل الألوان الجديدة، وذلك لتحسين ثبات المكتبة.
  • المستندات: تم تحسين KDoc وJavadoc بشكل كبير في جميع أنحاء المكتبة، ما يوفّر تعريفات أوضح لأنواع واجهات برمجة التطبيقات والعلامات.

تغييرات واجهة برمجة التطبيقات

  • تعديلات على طرق وضع التصميم: تم تعديل طرق وضع التصميم العامة لفئات الواصفات لتتوافق مع نمط Builder، وتمت إزالة العديد من طرق وضع التصميم المحمّلة بشكل زائد لتبسيط واجهة برمجة التطبيقات.
  • تحديث Dawn: تم تعديل عملية الالتزام بمصدر Dawn الداخلي إلى dc741dd للحفاظ على المزامنة مع عملية تنفيذ WebGPU في المصدر.

  • ملاحظة مهمة: تم إنشاء المستندات المتوفّرة في إصدار المكتبة هذا باستخدام Google Gemini، وقد تحتوي على أخطاء.

إصلاح الأخطاء

  • تم إصلاح القيمة التلقائية غير الصحيحة للقناع فيGPUMultisampleState (I41e86f0b، b/379441904)

الإصدار ‎1.0.0-alpha03

‫14 يناير 2026

تم طرح androidx.webgpu:webgpu:1.0.0-alpha03. يتضمّن الإصدار ‎1.0.0-alpha03 هذه التعديلات.

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

  • مجموعة الاختبارات الموسّعة: أضفنا المزيد من الاختبارات الشاملة لتحسين ثبات المكتبة.
  • إضافة Color Conversion Extension: تمت إضافة دوال إضافية لتسهيل تحويل قيم ألوان Android إلى GPUColor.
  • واجهة رد الاتصال الموحّدة: تمت إضافة واجهة GPURequestCallback جديدة للتعامل مع العمليات غير المتزامنة بشكل أكثر اتساقًا في جميع أنحاء المكتبة.
  • البيانات الوصفية: يتضمّن ملف AAR الخاص بالمكتبة الآن ملف dawn_build_metadata.json في مواد العرض. يحتوي هذا الملف على إصدار SHA-1 المحدّد من Dawn Git الذي تم استخدامه في الإصدار.

تغييرات واجهة برمجة التطبيقات

  • دمج عمليات رد الاتصال: تمت إزالة العديد من واجهات رد الاتصال المحدّدة لصالح واجهة GPURequestCallback العامة الجديدة.

الإصدار ‎1.0.0-alpha02

‫17 ديسمبر 2025

تم طرح androidx.webgpu:webgpu:1.0.0-alpha02. يتضمّن الإصدار ‎1.0.0-alpha02 هذه التعديلات.

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

  • مجموعة الاختبارات الموسّعة: أضفنا المزيد من الاختبارات الشاملة لتحسين ثبات المكتبة.
  • تحديث الحد الأدنى من حزمة تطوير البرامج (SDK): أصبحت المكتبة متاحة الآن للإصدار minSdk 24 والإصدارات الأحدث.

تغييرات واجهة برمجة التطبيقات

  • إعادة تسمية البنية: تم الآن إضافة البادئة "GPU" إلى جميع البِنى لضمان التوافق مع العناصر الحالية. على سبيل المثال، تمت إعادة تسمية BindGroupDescriptor ليصبح GPUBindGroupDescriptor.
  • تغليف الطريقة العامة: تم نقل الدوال العامة إلى عنصر GPU عام لتحسين الوضوح والتنظيم داخل واجهة برمجة التطبيقات Kotlin.
  • إعادة تصميم معالجة الاستثناءات: تم استيعاب الدالة getException من خلال نقلها إلى الكائن المصاحب WebGpuRuntimeException. يمنع ذلك المطوّرين من الوصول إلى منطق إنشاء الاستثناءات الداخلي مع الحفاظ على مساحة واجهة برمجة التطبيقات العامة نظيفة.

الإصدار ‎1.0.0-alpha01

‫3 ديسمبر 2025

تم طرح androidx.webgpu:webgpu:1.0.0-alpha01. يتضمّن الإصدار ‎1.0.0-alpha01 هذه التعديلات.

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

  • هذا هو إصدار ألفا الأوّلي من مكتبة WebGPU لتطبيقات Android. وهي مخصّصة في هذه المرحلة لمعاينة المطوّر. من المتوقّع أن يتم الانتهاء من واجهة برمجة التطبيقات خلال الإصدارات القليلة المقبلة.