تاریخ انتشار: 26 مارس 2025
اجازه ایجاد طرحبندی خط لوله با طرحبندی گروه پیوند تهی
پیش از این، ایجاد یک طرح بندی گروه bind خالی نیاز به افزودن یک گروه bind با صحافی صفر داشت که ناخوشایند بود. این دیگر ضروری نیست زیرا طرحبندیهای گروه باند تهی اکنون مجاز هستند و هنگام ایجاد طرحبندی خط لوله نادیده گرفته میشوند. این باید توسعه را آسان تر کند.
به عنوان مثال، ممکن است بخواهید خط لوله ای ایجاد کنید که فقط از طرح بندی گروه bind 0 و 2 استفاده می کند. شماره 377836524 را ببینید.
const bgl0 = myDevice.createBindGroupLayout({ entries: myGlobalEntries });
const bgl1 = myDevice.createBindGroupLayout({ entries: myFragmentEntries });
const bgl2 = myDevice.createBindGroupLayout({ entries: myVertexEntries });
// Create a pipeline layout that will be used to render without a fragment shader.
const myPipelineLayout = myDevice.createPipelineLayout({
bindGroupLayouts: [bgl0, null, bgl2],
});
به Viewport ها اجازه دهید تا از محدوده اهداف رندر عبور کنند
الزامات اعتبارسنجی Viewport کاهش یافته است تا به viewport ها اجازه داده شود که از مرزهای هدف رندر فراتر بروند. این به ویژه برای ترسیم عناصر دوبعدی مانند UI که ممکن است خارج از نمای فعلی باشد مفید است. شماره 390162929 را ببینید.
const passEncoder = myCommandEncoder.beginRenderPass({
colorAttachments: [
{
view: myColorTexture.createView(),
loadOp: "clear",
storeOp: "store",
},
],
});
// Set a viewport that extends past the render target's bounds by 8 pixels
// in all directions.
passEncoder.setViewport(
/*x=*/ -8,
/*y=*/ -8,
/*width=*/ myColorTexture.width + 16,
/*height=*/ myColorTexture.height + 16,
/*minDepth=*/ 0,
/*maxDepth=*/ 1,
);
// Draw geometry and complete the render pass as usual.
دسترسی آسان تر به حالت سازگاری آزمایشی در اندروید
پرچم chrome://flags/#enable-unsafe-webgpu
به تنهایی اکنون همه قابلیتهای مورد نیاز برای حالت آزمایشی سازگاری WebGPU در Android را فعال میکند. با این کار، میتوانید یک GPUAdapter را در حالت سازگاری با گزینه featureLevel: "compatibility"
درخواست کنید و حتی در دستگاههایی که از Vulkan پشتیبانی نمیکنند به Backend OpenGL ES دسترسی پیدا کنید. مثال زیر و شماره dawn را ببینید:389876644 .
// Request a GPUAdapter in compatibility mode.
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });

محدودیت maxInterStageShaderComponents را حذف کنید
همانطور که قبلا اعلام شد ، محدودیت maxInterStageShaderComponents به دلیل ترکیبی از عوامل حذف شده است:
- افزونگی با
maxInterStageShaderVariables
: این محدودیت در حال حاضر هدف مشابهی را دنبال می کند، کنترل مقدار داده ارسال شده بین مراحل سایه زن. - اختلافات جزئی: در حالی که تفاوت های جزئی در نحوه محاسبه دو حد وجود دارد، این تفاوت ها جزئی هستند و می توان به طور موثر در محدوده
maxInterStageShaderVariables
مدیریت کرد. - ساده سازی: حذف
maxInterStageShaderComponents
رابط سایه زن را ساده می کند و پیچیدگی را برای توسعه دهندگان کاهش می دهد. به جای مدیریت دو محدودیت جداگانه با تفاوتهای ظریف، میتوانند رویmaxInterStageShaderVariables
با نام مناسبتر و جامعتر تمرکز کنند.
به قصد حذف و صدور 364338810 مراجعه کنید.
به روز رسانی سحر
دیگر امکان استفاده از نمونهگیر فیلتر برای نمونهبرداری از بافت عمق وجود ندارد. به عنوان یادآوری، یک بافت عمقی را فقط می توان با یک نمونه غیر فیلتر یا مقایسه کننده استفاده کرد. شماره 379788112 را ببینید.
ساختارهای WGPURequiredLimits
و WGPUSupportedLimits
به WGPULimits
تبدیل شدهاند. شماره 374263404 را ببینید.
ساختارهای زیر تغییر نام داده اند. به شماره 42240793 مراجعه کنید.
-
WGPUImageCopyBuffer
اکنونWGPUTexelCopyBufferInfo
است -
WGPUImageCopyTexture
اکنونWGPUTexelCopyTextureInfo
است -
WGPUTextureDataLayout
اکنونWGPUTexelCopyBufferLayout
است
اعضای subgroupMinSize
و subgroupMaxSize
به ساختار WGPUAdapterInfo
اضافه شده اند. webgpu-headers PR را ببینید.
ردیابی استفاده از Dawn API در Metal اکنون هنگام اجرای برنامه شما با متغیر محیطی DAWN_TRACE_FILE_BASE
امکان پذیر است که یک فایل .gputrace را ذخیره می کند که می تواند بعداً در Metal Debugger XCode بارگذاری شود. به مستندات Debugging Dawn مراجعه کنید.
این تنها برخی از نکات کلیدی را پوشش می دهد. فهرست جامع تعهدات را بررسی کنید.
چه چیزی در WebGPU جدید است
فهرستی از همه چیزهایی که در سری What's New in WebGPU پوشش داده شده است.
کروم 135
- اجازه ایجاد طرحبندی خط لوله با طرحبندی گروه پیوند تهی
- به Viewport ها اجازه دهید تا از محدوده اهداف رندر عبور کنند
- دسترسی آسان تر به حالت سازگاری آزمایشی در اندروید
- محدودیت maxInterStageShaderComponents را حذف کنید
- به روز رسانی سحر
کروم 134
- بارهای کاری یادگیری ماشینی را با زیرگروه ها بهبود دهید
- پشتیبانی انواع بافت قابل فیلتر شناور را به عنوان ترکیب پذیر حذف کنید
- به روز رسانی سحر
کروم 133
- فرمتهای unorm8x4-bgra و راس 1 جزء اضافی
- اجازه دهید محدودیت های ناشناخته با مقدار تعریف نشده درخواست شود
- قوانین تراز WGSL تغییر می کند
- عملکرد WGSL با دور انداختن افزایش می یابد
- از VideoFrame displaySize برای بافت های خارجی استفاده کنید
- با استفاده از copyExternalImageToTexture، تصاویر را با جهت گیری های غیر پیش فرض مدیریت کنید
- بهبود تجربه توسعه دهندگان
- حالت سازگاری را با featureLevel فعال کنید
- ویژگی های پاکسازی زیرگروه آزمایشی
- محدودیت maxInterStageShaderComponents را منسوخ کنید
- به روز رسانی سحر
کروم 132
- استفاده از نمای بافت
- ترکیب بافت های شناور 32 بیتی
- ویژگی GPUDevice adapterInfo
- پیکربندی بافت بوم با فرمت نامعتبر خطای جاوا اسکریپت را ایجاد می کند
- فیلتر کردن محدودیت های نمونه بر روی بافت ها
- آزمایش زیرگروه های گسترده
- بهبود تجربه توسعه دهندگان
- پشتیبانی آزمایشی از فرمتهای بافت عادی ۱۶ بیتی
- به روز رسانی سحر
کروم 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
- به روز رسانی سحر