پشتیبانی آزمایشی از OpenGL ES در اندروید
اکنون میتوانید هنگام درخواست حالت آزمایشی سازگاری WebGPU در Chrome برای Android، از باطن OpenGL ES به GPUAdapter
دسترسی داشته باشید. این به ویژه برای دستگاه های اندرویدی که از Vulkan 1.1 یا بالاتر پشتیبانی نمی کنند مفید است. مثال زیر و شماره dawn:1545 را ببینید.
// Request a GPUAdapter in compatibility mode
const adapter = await navigator.gpu.requestAdapter({ compatibilityMode: true });
از آنجایی که این ویژگی هنوز در مرحله آزمایشی است، باید مراحل زیر را انجام دهید:
- پرچمهای Chrome زیر را فعال کنید: "Unsafe WebGPU Support"، "WebGPU Developer Features"، و "Enable command line on non-rooted device".
- USB Debugging را در دستگاه Android خود فعال کنید.
- دستگاه Android خود را به ایستگاه کاری خود وصل کنید،
adb shell 'echo "_ --use-webgpu-adapter=opengles" > /data/local/tmp/chrome-command-line'
اجرا کنید تا OpenGL ES backend را به Vulkan ترجیح دهید و مجددا راه اندازی کنید. کروم.
ویژگی اطلاعات GPUAdapter
دریافت اطلاعات شناسایی در مورد یک آداپتور اکنون می تواند به صورت همزمان با ویژگی info
GPUAdapter انجام شود. پیش از این، فراخوانی متد ناهمزمان GPUAdapter requestAdapterInfo()
تنها راه برای دریافت اطلاعات آداپتور بود. با این حال، requestAdapterInfo()
از مشخصات WebGPU حذف شده است و در اواخر امسال در کروم حذف خواهد شد تا زمان کافی در اختیار توسعه دهندگان وب قرار گیرد تا انتقال لازم را انجام دهند. مثال زیر، وضعیت Chrome و شماره 335383516 را ببینید.
const adapter = await navigator.gpu.requestAdapter();
const info = adapter.info;
// During the transition period, you can use the following:
// const info = adapter.info || await adapter.requestAdapterInfo();
console.log(`Vendor: ${info.vendor}`); // "arm"
console.log(`Architecture: ${info.architecture}`); // "valhall"
بهبودهای WebAssembly interop
برای تطبیق انبوه های WebAssembly که مستقیماً به WebGPU ارسال می شوند، اندازه آرگومان های BufferSource زیر دیگر به 2 گیگابایت محدود نمی شود: dynamicOffsetsData
در setBindGroup()
، data
منبع در writeBuffer()
و data
منبع Pin writeTexture()
. شماره 339049388 را ببینید.
خطاهای رمزگذار فرمان بهبود یافته است
برخی از خطاهای اعتبار سنجی که از رمزگذارهای فرمان ایجاد می شوند، اکنون اطلاعات زمینه ای بهبود یافته ای دارند. به عنوان مثال، تلاش برای شروع یک پاس محاسباتی در حالی که یک پاس رندر هنوز باز بود منجر به خطای زیر شد.
Command cannot be recorded while [CommandEncoder (unlabeled)] is locked and [RenderPassEncoder (unlabeled)] is currently open.
at CheckCurrentEncoder (..\..\third_party\dawn\src\dawn\native\EncodingContext.h:106)
این دلیل خطا را توضیح می دهد، اما نشان نمی دهد که کدام تماس واقعا باعث خطای اعتبارسنجی شده است. خطای زیر پیام رسانی بهبود یافته را نشان می دهد که شامل دستوری است که باعث ایجاد خطا می شود. تغییر 192245 را ببینید.
Command cannot be recorded while [CommandEncoder (unlabeled)] is locked and [RenderPassEncoder (unlabeled)] is currently open.
- While encoding [CommandEncoder (unlabeled)].BeginComputePass([ComputePassDescriptor]).
به روز رسانی سحر
webgpu.h C API دیگر wgpuSurfaceGetPreferredFormat()
نمایش نمی دهد، معادل C wgpu::Surface::GetPreferredFormat()
Dawn. در عوض، از wgpu::Surface::GetCapabilities()
برای دریافت لیست فرمت های پشتیبانی شده استفاده کنید، سپس formats[0]
برای دریافت فرمت بافت ترجیحی برای این سطح استفاده کنید. در همین حال، فراخوانی wgpu::Surface::GetPreferredFormat()
یک اخطار منسوخ شدن منتشر می کند. به شماره 290 مراجعه کنید.
کاربردهای بافت پشتیبانی شده یک سطح اکنون از طریق wgpu::SurfaceCapabilities::usages
هنگام فراخوانی wgpu::Surface::GetCapabilities()
در دسترس هستند. انتظار می رود آنها همیشه wgpu::TextureUsage::RenderAttachment
را شامل شوند. به شماره 301 مراجعه کنید.
این تنها برخی از نکات کلیدی را پوشش می دهد. فهرست جامع تعهدات را بررسی کنید.
چه چیزی در WebGPU جدید است
فهرستی از همه چیزهایی که در سری What's New in WebGPU پوشش داده شده است.
کروم 131
- فاصله های کلیپ در WGSL
- GPUCanvasContext getConfiguration()
- نقطه و خط اولیه نباید بایاس عمق داشته باشند
- توابع داخلی اسکن جامع برای زیرگروه ها
- پشتیبانی آزمایشی برای چند قرعه کشی غیر مستقیم
- گزینه کامپایل ماژول Shader ریاضی سخت
- حذف GPUAdapter requestAdapterInfo()
- به روز رسانی سحر
کروم 130
- ترکیب منبع دوگانه
- بهبود زمان کامپایل شیدر در فلز
- منسوخ شدن GPUAdapter requestAdapterInfo()
- به روز رسانی سحر
کروم 129
کروم 128
- آزمایش با زیر گروه ها
- بایاس عمق تنظیم را برای خطوط و نقاط منسوخ کنید
- در صورت جلوگیری از Default، هشدار DevTools خطای ضبط نشده را مخفی کنید
- WGSL ابتدا نمونهگیری را درونیابی میکند و هر کدام را
- به روز رسانی سحر
کروم 127
- پشتیبانی آزمایشی از OpenGL ES در اندروید
- ویژگی اطلاعات GPUAdapter
- بهبودهای WebAssembly interop
- خطاهای رمزگذار فرمان بهبود یافته است
- به روز رسانی سحر
کروم 126
- حد maxTextureArrayLayers را افزایش دهید
- بهینه سازی بارگذاری بافر برای باطن Vulkan
- بهبود زمان کامپایل شیدر
- بافرهای فرمان ارسالی باید منحصر به فرد باشند
- به روز رسانی سحر
کروم 125
کروم 124
- بافت های ذخیره سازی فقط خواندنی و خواندنی و نوشتنی
- پشتیبانی کارگران خدماتی و کارگران مشترک
- ویژگی های اطلاعات آداپتور جدید
- رفع اشکال
- به روز رسانی سحر
کروم 123
- توابع داخلی DP4a در WGSL پشتیبانی می کند
- پارامترهای اشاره گر نامحدود در WGSL
- قند نحوی برای عدم ارجاع کامپوزیت ها در WGSL
- حالت فقط خواندنی را برای جنبه های استنسیل و عمق جدا کنید
- به روز رسانی سحر
کروم 122
- گسترش دسترسی با حالت سازگاری (ویژگی در حال توسعه)
- حد maxVertexAttributes را افزایش دهید
- به روز رسانی سحر
کروم 121
- پشتیبانی از WebGPU در اندروید
- برای کامپایل شیدر در ویندوز به جای FXC از DXC استفاده کنید
- پرس و جوهای مهر زمانی در گذرنامه های محاسبه و ارائه
- نقاط ورودی پیش فرض به ماژول های سایه زن
- پشتیبانی از display-p3 به عنوان فضای رنگی GPUExternalTexture
- اطلاعات انبوه حافظه
- به روز رسانی سحر
کروم 120
- پشتیبانی از مقادیر ممیز شناور 16 بیتی در WGSL
- محدودیت ها را فشار دهید
- تغییرات در حالت عمقی-استنسیل
- به روز رسانی اطلاعات آداپتور
- کوانتیزاسیون پرس و جوهای مهر زمانی
- ویژگی های تمیز کردن فنری
کروم 119
کروم 118
- پشتیبانی از HTMLImageElement و ImageData در
copyExternalImageToTexture()
- پشتیبانی آزمایشی از بافت ذخیرهسازی خواندنی-نوشتنی و فقط خواندنی
- به روز رسانی سحر
کروم 117
- بافر راس را تنظیم نکنید
- گروه bind را تنظیم نکنید
- هنگام گم شدن دستگاه، خطاهای ایجاد خط لوله ناهمگام را خاموش کنید
- به روز رسانی های ایجاد ماژول سایه زن SPIR-V
- بهبود تجربه توسعه دهندگان
- ذخیره سازی خطوط لوله با طرح تولید خودکار
- به روز رسانی سحر
کروم 116
- یکپارچه سازی WebCodecs
- دستگاه گمشده توسط GPUAdapter
requestDevice()
برگردانده شد - در صورت فراخوانی
importExternalTexture()
پخش ویدیو را روان نگه دارید - مطابقت با مشخصات
- بهبود تجربه توسعه دهندگان
- به روز رسانی سحر
کروم 115
- پشتیبانی از پسوندهای زبان WGSL
- پشتیبانی آزمایشی از Direct3D 11
- GPU گسسته را به طور پیشفرض با برق AC دریافت کنید
- بهبود تجربه توسعه دهندگان
- به روز رسانی سحر
کروم 114
- بهینه سازی جاوا اسکریپت
- getCurrentTexture() روی بوم پیکربندی نشده خطای InvalidState را ایجاد می کند
- به روز رسانی WGSL
- به روز رسانی سحر