وب‌جی‌پی‌یو

یک API مدرن برای پردازنده‌های گرافیکی (GPU) برای پردازش و محاسبات از کاتلین.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۲۲ آوریل ۲۰۲۶ - - - ۱.۰.۰-آلفا۰۵

اعلام وابستگی‌ها

برای افزودن وابستگی به Webgpu، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.

وابستگی‌های مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

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

کاتلین

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

برای اطلاعات بیشتر در مورد وابستگی‌ها، به «افزودن وابستگی‌های ساخت» مراجعه کنید.

بازخورد

بازخورد شما به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی کشف کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. می‌توانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

هیچ یادداشت انتشاری برای این مصنوع وجود ندارد.

وب‌جی‌پی‌یو نسخه ۱.۰

نسخه ۱.۰.۰-آلفا۰۵

۲۲ آوریل ۲۰۲۶

androidx.webgpu:webgpu:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 شامل این کامیت‌ها است.

ویژگی‌ها و ثابت‌های جدید

  • محدودیت‌های حالت سازگاری

    • GPUCompatibilityModeLimitsBuilder مربوطه‌اش) برای تعریف محدودیت‌های خاص برای حالت سازگاری اضافه شد.
    • شامل محدودیت‌های خاصی مانند maxStorageBuffersInVertexStage و maxStorageTexturesInFragmentStage می‌شود.
    • این شیء به عنوان یک ویژگی اختیاری در GPULimits ادغام شده است.
  • ابعاد نمای اتصال بافت

    • GPUTextureBindingViewDimension اضافه شد تا کنترل دقیق‌تری روی اتصال‌های نمای بافت ارائه دهد.
    • اکنون می‌توان این موارد را در GPUTextureDescriptor مشخص کرد.
  • ثابت‌های جدید و ویژگی‌های پشتیبانی‌شده

    • TextureUsage: TransientAttachment اضافه شد.
    • نام ویژگی زبان WGSL:
      • SubgroupUniformity اضافه شد.
      • TextureFormatsTier1 اضافه شد.
    • نوع S: موارد زیر اضافه شد:
      • ExternalTextureBindingLayout
      • ExternalTextureBindingEntry
      • CompatibilityModeLimits
      • TextureBindingViewDimension

تغییرات API

  • بازآرایی حاشیه‌نویسی IntDef: تعریف ساختاری تمام enumها (مانند AdapterType ، TextureFormat ، BufferUsage ، LoadOp و غیره) بازآرایی شده‌اند. آن‌ها از کلاس‌های حاشیه‌نویسی عمومی به کلاس‌های سازنده خصوصی حاوی یک کلاس حاشیه‌نویسی .Type تو در تو منتقل شده‌اند. در نتیجه، حاشیه‌نویسی‌های پارامتر در سراسر کتابخانه از @FormatName به @FormatName.Type به‌روزرسانی شده‌اند (مثلاً @TextureFormat به @TextureFormat.Type تغییر یافته است).
  • به‌روزرسانی‌های توصیف‌گر نمای بافت: GPUTextureViewDescriptor اکنون یک پارامتر usage ( @TextureUsage.Type ) را می‌پذیرد و امکان تعریف کاربردهای خاص را مستقیماً در نمای بافت فراهم می‌کند.

نکته مهم: مستندات ارائه شده در این نسخه از کتابخانه با استفاده از Google Gemini تولید شده است و ممکن است حاوی خطاهایی باشد.

نسخه ۱.۰.۰-آلفا۰۴

۱۱ فوریه ۲۰۲۶

androidx.webgpu:webgpu:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • الگوی سازنده : کلاس‌های سازنده استاتیک برای همه اشیاء توصیفگر و حالت (مثلاً GPUDeviceDescriptor.Builder ، GPURenderPipelineDescriptor.Builder ) معرفی شد تا ساخت اشیاء ساده‌تر شده و قابلیت همکاری جاوا بهبود یابد.
  • مجموعه تست‌های توسعه‌یافته : تست‌های بیشتری، از جمله برای افزونه‌های جدید تبدیل رنگ، برای بهبود پایداری کتابخانه اضافه شده است.
  • مستندات : KDoc و Javadoc به طور قابل توجهی در سراسر کتابخانه بهبود یافته‌اند و تعاریف واضح‌تری برای انواع و پرچم‌های API ارائه می‌دهند.

تغییرات API

  • به‌روزرسانی‌های سازنده : سازنده‌های عمومی برای کلاس‌های توصیف‌گر به‌روزرسانی شده‌اند تا از الگوی Builder پشتیبانی کنند؛ بسیاری از سازنده‌های سربارگذاری‌شده برای ساده‌سازی API حذف شده‌اند.
  • به‌روزرسانی داون : کامیت منبع داخلی داون به dc741dd به‌روزرسانی شد تا با پیاده‌سازی WebGPU بالادستی هماهنگ بماند.

  • نکته مهم : مستندات ارائه شده در این نسخه از کتابخانه با استفاده از Google Gemini تولید شده است و ممکن است حاوی خطاهایی باشد.

رفع اشکالات

  • مقدار پیش‌فرض نادرست برای ماسک در GPUMultisampleState ( I41e86f0b ، b/379441904 ) اصلاح شد.

نسخه ۱.۰.۰-آلفا۰۳

۱۴ ژانویه ۲۰۲۶

androidx.webgpu:webgpu:1.0.0-alpha03 منتشر شد. نسخه 1.0.0-alpha03 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • مجموعه تست‌های توسعه‌یافته: تست‌های جامع‌تری برای بهبود پایداری کتابخانه اضافه شده است.
  • افزونه تبدیل رنگ: توابع افزونه‌ای اضافه شده است تا به راحتی مقادیر رنگ اندروید را به GPUColor تبدیل کنید.
  • رابط فراخوانی یکپارچه: یک رابط GPURequestCallback جدید اضافه شده است تا عملیات ناهمزمان را به طور هماهنگ‌تر در سراسر کتابخانه مدیریت کند.
  • فراداده: کتابخانه AAR اکنون فایل dawn_build_metadata.json را در asset های خود دارد. این فایل شامل commit SHA-1 مخصوص Dawn Git است که برای ساخت استفاده می‌شود.

تغییرات API

  • تجمیع فراخوانی‌های برگشتی: چندین رابط فراخوانی خاص به نفع رابط عمومی جدید GPURequestCallback حذف شده‌اند.

نسخه ۱.۰.۰-آلفا۰۲

۱۷ دسامبر ۲۰۲۵

androidx.webgpu:webgpu:1.0.0-alpha02 منتشر شد. نسخه 1.0.0-alpha02 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • مجموعه تست‌های توسعه‌یافته: تست‌های جامع‌تری برای بهبود پایداری کتابخانه اضافه شده است.
  • حداقل به‌روزرسانی SDK: این کتابخانه اکنون برای minSdk نسخه ۲۴ و بالاتر قابل اجرا است.

تغییرات API

  • تغییر نام ساختار: اکنون برای سازگاری با اشیاء موجود، پیشوند «GPU» برای همه ساختارها استفاده می‌شود. برای مثال، BindGroupDescriptor به GPUBindGroupDescriptor تغییر نام داده است.
  • بسته‌بندی سراسری متدها: توابع سراسری برای وضوح و سازماندهی بهتر در API کاتلین به یک شیء عمومی GPU منتقل شده‌اند.
  • اصلاح مدیریت استثنا: تابع getException با انتقال آن به شیء همراه WebGpuRuntimeException درونی‌سازی شد. این کار مانع از دسترسی توسعه‌دهندگان به منطق ایجاد استثنای داخلی می‌شود و در عین حال یک سطح API عمومی تمیز را حفظ می‌کند.

نسخه ۱.۰.۰-آلفا۰۱

۳ دسامبر ۲۰۲۵

androidx.webgpu:webgpu:1.0.0-alpha01 منتشر شد. نسخه 1.0.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های جدید

  • این نسخه آلفای اولیه کتابخانه WebGPU برای برنامه‌های اندروید است. در حال حاضر برای پیش‌نمایش توسعه‌دهندگان در نظر گرفته شده است. انتظار می‌رود API در چند نسخه بعدی نهایی شود.