איך מבטלים את ההגדרה של מאגר קודקודים
העברת null
במקום GPUBuffer
אל setVertexBuffer()
ב-GPURenderPassEncoder
או ב-GPURenderBundleEncoder
מאפשרת לבטל את ההגדרה של מאגר קודקודים שהוגדר קודם בחריץ נתון. issue 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
מאפשרת לבטל את ההגדרה של קבוצת קישור שהוגדרה בעבר במיקום נתון. issue 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
מחזירות הבטחה (promise) שמתמלאת כשהיצירה של צינור עיבוד הנתונים מסתיימת. מעכשיו והלאה, שגיאות שנוצרות במהלך יצירת צינור עיבוד נתונים אסינכררוני יושתקו כשהערך של GPUDevice
הוא lost
, כדי שהמכשירים שאבדו ייראו כפועלים ככל האפשר. dawn issue:1874
עדכונים בנושא יצירת מודולים של שגיאות SPIR-V
יצירת מודול שדר של SPIR-V באמצעות createShaderModule()
גורמת עכשיו להודעת שגיאה מסוג TypeError, אלא אם מריצים את Chrome עם הדגל 'תמיכה לא בטוחה ב-WebGPU', כי SPIR-V לא נכלל במפרט של WebGPU. לפני השינוי הזה, שימוש ב-SPIR-V היה גורם ליצירה של GPUInternalError במקום זאת.
ראו שינוי chromium:4711911.
שיפור חוויית המפתח
הודעה משופרת על שגיאת אימות של קישורים של פריסה של קבוצת קישורים ב-vertex shader, עבור מאגר אחסון לקריאה וכתיבה וקישור של טקסטורה לאחסון לכתיבה בלבד. issue dawn:1883
שמירה של צינורות עיבוד נתונים במטמון באמצעות פריסה שנוצרת באופן אוטומטי
בצינורות עיבוד נתונים שנוצרו באמצעות createRenderPipeline({ layout: "auto" })
אפשר עכשיו להשתמש במנגנוני שמירה במטמון ב-Chrome. המשמעות היא שהצינורות האלה ייוצרו בצורה יעילה יותר וישתמשו בפחות זיכרון. issue dawn:1933
עדכונים של Dawn
ה-wgpu::RequestAdapterOptionsBackendType
הוא עכשיו חלק מ-wgpu::RequestAdapterOptions
כדי שיהיה קל יותר לאפליקציות לבקש קצה עורפי מסוים כשהן מקבלות מתאם. אפשר לעיין בדוגמה הבאה ובבעיה dawn:1875.
wgpu::RequestAdapterOptions options = {
.backendType = wgpu::BackendType::D3D12};
// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);
כמה שיטות נוספות הוטמעו ב-Node.js. ראו שינוי השחר:142465.
סוג הערכים הבוליאניים ב-API ל-C webgpu.h השתנה מ-stdbool
ל-WGPUBool
, שהוא uint32_t
. השינוי הזה בוצע כדי להבטיח של-API יש ABI מקביל ב-C וב-C++.
הסקירה הזו כוללת רק חלק מהנקודות העיקריות. רשימת ההצהרות המלאה
מה חדש ב-WebGPU
רשימה של כל מה שדיברנו עליו בסדרה מה חדש ב-WebGPU.
Chrome 131
- חיתוך מרחקים ב-WGSL
- GPUCanvasContext getConfiguration()
- אסור שתהיה הטיה של עומק בפרימיטיבים של קווים ונקודות
- פונקציות מובנות של סריקה כוללת לקבוצות משנה
- תמיכה ניסיונית בקריאה עקיפה עם מספר משיכות
- Shader module compilation option strict math
- הסרת השיטה requestAdapterInfo() של GPUAdapter
- עדכונים לגבי Dawn
Chrome 130
- שילוב של שני מקורות
- שיפורי זמן ההידור של המטאל
- הוצאה משימוש של requestAdapterInfo() של GPUAdapter
- עדכונים לגבי זריחה
Chrome 129
Chrome 128
- ניסוי עם תתי-קבוצות
- הוצאה משימוש של הגדרת הטיה של עומק לקווים ולנקודות
- הסתרת אזהרת DevTools על שגיאה שלא תועדה אם preventDefault
- WGSL מבצעת אינטרפולציה של הדגימה קודם ואז
- עדכונים לגבי Dawn
Chrome 127
- תמיכה ניסיונית ב-OpenGL ES ב-Android
- מאפיין המידע של GPUAdapter
- שיפורים בתאימות הדדית של WebAssembly
- שיפור שגיאות של מקודד הפקודות
- עדכונים לגבי Dawn
Chrome 126
- הגדלת המגבלה של maxTextureArrayLayers
- אופטימיזציה של העלאת מאגר נתונים זמני לקצה העורפי של Vulkan
- שיפורים בזמן הידור של שגיאות (shader)
- מאגרי הפקודות שנשלחים חייבים להיות ייחודיים
- עדכונים לגבי Dawn
Chrome 125
Chrome 124
- טקסטורות אחסון לקריאה בלבד ולקריאה-כתיבה
- תמיכה בעובדי שירות ובעובדים משותפים
- מאפיינים חדשים של פרטי מתאמים
- תיקוני באגים
- עדכונים לגבי Dawn
Chrome 123
- תמיכה בפונקציות מובנות של DP4a ב-WGSL
- פרמטרים של מצביע ללא הגבלה ב-WGSL
- תחביר פשוט יותר לביטול ההפניה למשתנים מורכבים ב-WGSL
- מצב נפרד לקריאה בלבד של אספקטים של תבנית ועומק
- עדכונים לגבי Dawn
Chrome 122
- הרחבת פוטנציאל החשיפה באמצעות מצב תאימות (תכונה בפיתוח)
- הגדלת המגבלה של maxVertexAttributes
- עדכונים לגבי Dawn
Chrome 121
- תמיכה ב-WebGPU ב-Android
- שימוש ב-DXC במקום ב-FXC לצורך הידור של שגיאות ב-Windows
- שאילתות של חותמות זמן בשלבי המחשוב והעיבוד
- נקודות כניסה שמוגדרות כברירת מחדל למודולים של תוכנת ההצללה
- תמיכה ב-Display-p3 כמרחב צבעים של GPUExternalTexture
- מידע על ערמות זיכרון
- עדכונים לגבי זריחה
Chrome 120
- תמיכה בערכי נקודה צפה (floating-point) של 16 ביט ב-WGSL
- מעבר למגבלות
- שינויים במצב של סטאק עומק
- עדכונים של פרטי המתאם
- קידוד נתונים של שאילתות עם חותמות זמן
- תכונות לניקוי האביב
Chrome 119
- טקסטורות של מספרים ממשיים (float) ב-32 ביט שניתן לסנן
- פורמט unorm10-10-10-2 קודקוד
- פורמט טקסטורה של rgb10a2uint
- עדכונים לגבי זריחה
Chrome 118
- תמיכה ב-HTMLImageElement וב-ImageData ב-
copyExternalImageToTexture()
- תמיכה ניסיונית ברקמות אחסון לקריאה וכתיבה ולקריאה בלבד
- עדכונים לגבי Dawn
Chrome 117
- הסרה של מאגר נתונים זמני של קודקודים
- ביטול ההגדרה של קבוצת הקישור
- השתקת שגיאות שנובעות מיצירת צינור עיבוד נתונים אסינכררוני כשהמכשיר אבד
- עדכונים לגבי יצירת מודולים של שגיאות SPIR-V
- שיפור חוויית המפתחים
- אחסון צינורות עיבוד נתונים במטמון עם פריסה שנוצרה באופן אוטומטי
- עדכונים לגבי זריחה
Chrome 116
- שילוב WebCodecs
- המכשיר שאבד הוחזר על ידי GPUAdapter
requestDevice()
- שמירה על הפעלה חלקה של סרטונים אם מתבצעת קריאה ל-
importExternalTexture()
- תאימות מפרטת
- שיפור חוויית המפתחים
- עדכונים לגבי Dawn
Chrome 115
- תוספים נתמכים לשפות של WGSL
- תמיכה ניסיונית ב-Direct3D 11
- קבלת GPU נפרד כברירת מחדל בחשמל AC
- שיפור חוויית הפיתוח
- עדכונים לגבי Dawn
Chrome 114
- אופטימיזציה של JavaScript
- getCurrentTexture() בבד ציור שלא הוגדר גורם לשגיאה InvalidStateError
- עדכונים מ-WGSL
- עדכונים לגבי Dawn