מה חדש ב-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

רשימה של כל הנושאים שמופיעים בסדרה What's New in WebGPU.

‫Chrome 142

Chrome 141

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