מה חדש ב-WebGPU (Chrome {8/}117)

François Beaufort
François Beaufort

ביטול ההגדרה של מאגר קודקודים

העברת null במקום GPUBuffer אל setVertexBuffer() ב-GPURenderPassEncoder או ב-GPURenderBundleEncoder מאפשרת לבטל את ההגדרה של מאגר קודקודים שהוגדר קודם במשבצת נתונה. לפרטים על בעיה dawn: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 מאפשרת לבטל את ההגדרה של קבוצת שיוך שהוגדרה בעבר במשבצת נתונה. לפרטים על בעיה dawn: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, כדי שמכשירים אבודים ייראו כאילו הם פועלים ככל האפשר. מידע נוסף זמין במאמר dawn issue:1874.

עדכונים ביצירת מודול shader של SPIR-V

יצירת מודול הצללה SPIR-V באמצעות createShaderModule() גורמת עכשיו לשגיאת TypeError, אלא אם מריצים את Chrome עם הדגל Unsafe WebGPU Support, כי SPIR-V לא נכלל במפרט WebGPU. לפני השינוי הזה, שימוש ב-SPIR-V היה גורם ליצירה של GPUInternalError במקום זאת. ראו שינוי chromium:4711911.

שיפור חוויית המפתחים

שיפרנו את הודעת השגיאה של האימות לגבי קשירת פריסות של קבוצות קשירה ב-vertex shader עבור קשירות של מאגר אחסון לקריאה ולכתיבה וקשירות של טקסטורת אחסון לכתיבה בלבד. מידע נוסף על הבעיה dawn:1883

שמירת צינורות עיבוד נתונים במטמון עם פריסה שנוצרת אוטומטית

צינורות (pipelines) שנוצרו באמצעות createRenderPipeline({ layout: "auto" }) נהנים עכשיו ממנגנוני שמירת נתונים במטמון ב-Chrome. המשמעות היא שצינורות העיבוד האלה ייצרו בצורה יעילה יותר וישתמשו בפחות זיכרון. לעיון בבעיה dawn:1933

עדכונים לגבי שעות השחר

ה-wgpu::RequestAdapterOptionsBackendType הוא עכשיו חלק מ-wgpu::RequestAdapterOptions, כדי להקל על אפליקציות לבקש קצה עורפי מסוים כשמקבלים מתאם. דוגמה: issue dawn:1875

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

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

הוטמעו כמה שיטות נוספות עבור Node.js. שינוי השחר:142465

ב-API של webgpu.h C, הסוג של ערכים בוליאניים השתנה מ-stdbool ל-WGPUBool, שהוא uint32_t. השינוי הזה בוצע כדי לוודא של-API יש ABI מקביל ב-C וב-C++.

המידע הזה כולל רק חלק מהנקודות העיקריות. רשימה מלאה של קומיטים

מה חדש ב-WebGPU

רשימה של כל הנושאים שמופיעים בסדרת המאמרים מה חדש ב-WebGPU.

Chrome 140

‫Chrome 139

‫Chrome 138

Chrome 137

Chrome 136

‫Chrome 135

‫Chrome 134

‫Chrome 133

‫Chrome 132

‫Chrome 131

‫Chrome 130

גרסה Chrome 129

‫Chrome 128

‫Chrome 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