מה חדש ב-WebGPU ‏ (Chrome 141)

François Beaufort
François Beaufort

תאריך פרסום: 24 בספטמבר 2025

הושלם גוון IR

הושלם פרויקט ארוך טווח (מעל שנתיים וחצי) לשיפור הביצועים של החלקים הפנימיים של Tint, מהדר WGSL. הוספנו ייצוג ביניים (IR) לחלק האחורי של המערכת, בין עץ התחביר המופשט (AST) הנוכחי לבין מחוללי הקוד של החלק האחורי של המערכת. ההשקה של IR אפשרה לצוות Chrome להסיר את כל הטרנספורמציות של AST וליצור אותן מחדש כטרנספורמציות של IR, שהן מהירות משמעותית בגלל הבדלים בארכיטקטורה. במערכת הפנימית של Tint, בחלק מהפלטפורמות, נרשם שיפור במהירות של עד פי שבעה בעקבות השינויים האלה.

ה-IR החדש הזה פותח פוטנציאל משמעותי לניתוח ולהמרה מתוחכמים של הצללות בקנה מידה גדול. הוא לא רק מבטיח שיפורים משמעותיים בביצועים, אלא גם מאפשר ל-Chrome לספק בעתיד תכונות חדשות ומלהיבות של WebGPU.

החל מאבן הדרך הזו, כל מחוללי קוד ה-backend פועלים מתוך ייצוג ה-IR, כל הטרנספורמציות של ה-AST נמחקו, וכל קוד התמיכה של ה-AST להפעלת הטרנספורמציות הוסר.

במסגרת העבודה לשיפור ה-IR, חזית ה-SPIR-V (שמשמשת אפליקציות להמרה של SPIR-V ל-WGSL) הומרה מיצירת ייצוג AST ליצירה ישירות ל-IR. השיפור הזה כולל גם תכונות שחיכו להן זמן רב, כמו תמיכה ב-float 16 בחזית ה-SPIR-V.

ניתוח טווח מספרים שלמים בקומפיילר WGSL

צוות Chrome משיק בהדרגה ניתוח חדש של טווח מספרים שלמים עבור Tint, מהדר שפת ההצללה של WebGPU. ניתוח טווח מספרים שלמים מעריך את הערכים המינימליים והמקסימליים שמשתנה מסוג מספר שלם יכול לקבל במהלך הפעלת התוכנית, בלי להפעיל את התוכנית בפועל.

המטרה של התכונה הזו היא לשפר את היעילות על ידי צמצום הצורך בבדיקת גבולות יקרה, והיא תופעל בקרוב כברירת מחדל בכל הפלטפורמות. מידע נוסף

עדכון SPIR-V 1.4 לבק-אנד ב-Vulkan

התמיכה ב-SPIR-V 1.4 מושקת במכשירי Android ו-ChromeOS שבהם היא זמינה. העדכון הזה מאפשר ל-Tint, מהדר WGSL, לנצל תכונות חדשות של SPIR-V, הרחבות והוראות חדשות ליצירת קוד יעילה יותר בתרחישים מסוימים כשמבצעים קומפילציה של shaders של Vulkan. מידע נוסף

עדכונים של Dawn

הכותרת המתוקננת webgpu.h, שמגדירה את ה-API של WebGPU C, נחשבת עכשיו סופית ליציבה. היציבות הזו חלה ספציפית על ה-API הליבתי שמוגדר במעלה הזרם, ולא כוללת תוספי הטמעה (לדוגמה, מ-Dawn או מ-Emdawnwebgpu), ולכן מומלץ להשתמש ב-webgpu.h שסופק על ידי ההטמעה המדויקת שאליה אתם מקשרים. הכותרת יציבה, אבל יכול להיות שעדיין תיתקלו בהבדלים לא מכוונים בין ההטמעות, כי אנחנו ממשיכים לתקן באגים ולטפל בבעיות תאימות בסביבה העסקית. אם כן, דווחו על באג.

תודה לתורם החיצוני William Candillon, עכשיו אפשר למצוא קבצים בינאריים של Dawn שנבנו מראש כארטיפקטים ב-GitHub Actions. הם כוללים קובצי ‎ .lib סטטיים ל-Android, חבילת ‎ .XCFramework ל-Apple וכל קובצי הכותרת הדרושים. אפשר לעיין ב-Dawn PR #39 ובדוגמה של פריטי המידע שנוצרו בתהליך הפיתוח (Artifact).

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

מה חדש ב-WebGPU

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

Chrome 143

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