Yayınlanma tarihi: 24 Eylül 2025
Tint IR tamamlandı
WGSL derleyicisi olan Tint'in iç kısımlarının performansını artırmaya yönelik uzun süredir devam eden bir proje (2, 5 yıldan uzun) tamamlandı. Mevcut Soyut Sözdizimi Ağacı (AST) ile arka uç kod oluşturucuları arasına, arka uçta bir Ara Gösterim (IR) yerleştirildi. IR'nin kullanıma sunulmasıyla Chrome ekibi, tüm AST dönüşümlerini kaldırıp IR dönüşümleri olarak yeniden oluşturabildi. Bu dönüşümler, mimari farklılıklar nedeniyle önemli ölçüde daha hızlıdır. Tint'in iç işleyişinde, bazı platformlarda bu değişikliklerle yedi kat daha hızlı sonuç alındı.
Bu yeni IR, gelişmiş ve büyük ölçekli gölgelendirici analizi ve dönüşümü için önemli bir potansiyel sunuyor. Bu sayede yalnızca önemli performans artışları değil, aynı zamanda Chrome'un gelecekte heyecan verici yeni WebGPU özelliklerini sunması için daha sorunsuz bir yol da sağlanıyor.
Bu dönüm noktasından itibaren tüm arka uç kod oluşturucular IR gösteriminden çalışır, tüm AST dönüşümleri silinir ve dönüşümleri çalıştırmak için gereken tüm AST destek kodu kaldırılır.
IR iyileştirme çalışmaları kapsamında, SPIR-V ön ucu (uygulamalar tarafından SPIR-V'yi WGSL'ye dönüştürmek için kullanılır) AST gösterimi oluşturmaktan doğrudan IR oluşturmaya dönüştürüldü. Bu geliştirme, SPIR-V ön ucuna uzun süredir beklenen özellikler (ör. float 16 desteği) de ekliyor.
WGSL derleyicisinde tam sayı aralığı analizi
Chrome ekibi, WebGPU gölgelendirici dili derleyicisi olan Tint için yeni bir tam sayı aralığı analizini kademeli olarak kullanıma sunuyor. Tam sayı aralığı analizi, programı gerçekten çalıştırmadan program yürütme sırasında bir tam sayı değişkeninin alabileceği minimum ve maksimum değerleri tahmin eder.
Bu özellik, maliyetli sınır kontrolü ihtiyacını azaltarak verimliliği artırmayı amaçlamaktadır ve yakında tüm platformlarda varsayılan olarak etkinleştirilecektir. 348701956 numaralı soruna bakın.
Vulkan arka ucu için SPIR-V 1.4 güncellemesi
SPIR-V 1.4 desteği, Android ve ChromeOS cihazlarda kullanıma sunulmuştur. Bu güncelleme, WGSL derleyicisi olan Tint'in Vulkan gölgelendiricileri derlerken belirli senaryolarda daha verimli kod oluşturmak için yeni SPIR-V özelliklerinden, gevşetmelerden ve yeni talimatlardan yararlanmasını sağlar. 427717267 numaralı sorunu inceleyin.
Dawn güncellemeleri
Temel WebGPU C API'sini tanımlayan standartlaştırılmış webgpu.h
başlığı artık kararlı olarak kabul ediliyor. Bu kararlılık, özellikle yukarı akışta tanımlanan temel API için geçerlidir ve uygulama uzantılarını (ör. Dawn veya Emdawnwebgpu'dan) içermez. Bu nedenle, bağlantı oluşturduğunuz tam uygulama tarafından sağlanan webgpu.h
kullanmak en iyisidir. Başlık kararlı olsa da ekosistemdeki hataları düzeltmeye ve uyumluluk sorunlarını gidermeye devam ettiğimiz için uygulamalar arasında istenmeyen farklılıklarla karşılaşabilirsiniz. Bu durumda hata bildiriminde bulunun.
Harici katkıda bulunan William Candillon sayesinde, artık GitHub Actions'da önceden oluşturulmuş Dawn ikililerini yapıt olarak bulabilirsiniz. Bunlar arasında Android için statik .lib dosyaları, Apple için .XCFramework paketi ve gerekli tüm üstbilgi dosyaları bulunur. Dawn PR #39 ve yapay nesnelerin örneğine bakın.
Bu özet yalnızca önemli noktaların bir kısmını kapsar. Kapsamlı işleme listesine göz atın.
WebGPU'daki yenilikler
WebGPU'daki Yenilikler serisinde ele alınan her şeyin listesi.
Chrome 141
- Tint IR tamamlandı
- WGSL derleyicisinde tam sayı aralığı analizi
- Vulkan arka ucu için SPIR-V 1.4 güncellemesi
- Dawn ile ilgili güncellemeler
Chrome 140
- Cihaz istekleri adaptörü tüketiyor
- Doku görünümünün kullanıldığı yerlerde doku kullanmak için kısa yol
- WGSL textureSampleLevel, 1 boyutlu dokuları destekler
- bgra8unorm salt okunur depolama dokusu kullanımını kullanımdan kaldırma
- GPUAdapter isFallbackAdapter özelliğini kaldırma
- Dawn ile ilgili güncellemeler
Chrome 139
- BC ve ASTC sıkıştırılmış biçimleri için 3D doku desteği
- Yeni "temel özellikler ve sınırlar" özelliği
- WebGPU uyumluluk modu için kaynak denemesi
- Dawn ile ilgili güncellemeler
Chrome 138
- Arabelleği bağlama kaynağı olarak kullanmak için kısa yol
- Oluşturma sırasında eşlenen arabellekler için boyut şartı değişiklikleri
- Yakın tarihli GPU'lar için mimari raporu
- GPUAdapter isFallbackAdapter özelliğinin desteğini sonlandırma
- Dawn ile ilgili güncellemeler
Chrome 137
- externalTexture bağlama için doku görünümünü kullanma
- Arabellekler, ofset ve boyut belirtilmeden kopyalanıyor
- Atomik işaretçi kullanarak WGSL workgroupUniformLoad
- GPUAdapterInfo powerPreference özelliği
- GPURequestAdapterOptions compatibilityMode özelliğini kaldırma
- Dawn ile ilgili güncellemeler
Chrome 136
- GPUAdapterInfo isFallbackAdapter özelliği
- D3D12'de gölgelendirici derleme süresinde iyileştirmeler
- Kanvas görüntülerini kaydetme ve kopyalama
- Artış uyumluluk modu kısıtlamaları
- Dawn ile ilgili güncellemeler
Chrome 135
- Boş bağlama grubu düzeniyle işlem hattı düzeni oluşturmaya izin ver
- Görüntü alanlarının, oluşturma hedefi sınırlarının ötesine geçmesine izin ver
- Android'de deneysel uyumluluk moduna daha kolay erişim
- maxInterStageShaderComponents sınırını kaldırma
- Dawn ile ilgili güncellemeler
Chrome 134
- Alt gruplarla makine öğrenimi iş yüklerini iyileştirme
- Karıştırılabilir olarak kayan filtrelenebilir doku türleri desteğini kaldırma
- Dawn ile ilgili güncellemeler
Chrome 133
- Ek unorm8x4-bgra ve 1 bileşenli köşe biçimleri
- Bilinmeyen sınırların tanımlanmamış değerle istenmesine izin ver
- WGSL hizalama kurallarındaki değişiklikler
- Silme işlemiyle WGSL performansında artış
- Harici dokular için VideoFrame displaySize'ı kullanma
- copyExternalImageToTexture kullanarak varsayılan olmayan yönlere sahip resimleri işleme
- Geliştirici deneyimini iyileştirme
- featureLevel ile uyumluluk modunu etkinleştirme
- Deneysel alt grup özelliklerinde temizleme
- maxInterStageShaderComponents sınırının desteğini sonlandırma
- Dawn ile ilgili güncellemeler
Chrome 132
- Doku görünümü kullanımı
- 32 bit kayan noktalı doku karıştırma
- GPUDevice adapterInfo özelliği
- Geçersiz biçimdeki tuval bağlamını yapılandırma JavaScript hatası veriyor
- Doku üzerinde filtreleme örnekleyici kısıtlamaları
- Genişletilmiş alt grup denemesi
- Geliştirici deneyimini iyileştirme
- 16 bit normalleştirilmiş doku biçimleri için deneysel destek
- Dawn ile ilgili güncellemeler
Chrome 131
- WGSL'de kırpma mesafeleri
- GPUCanvasContext getConfiguration()
- Nokta ve çizgi temel öğelerinde derinlik önyargısı olmamalıdır
- Alt gruplar için kapsayıcı tarama yerleşik işlevleri
- Çoklu çekme dolaylı reklamı için deneysel destek
- Shader modülü derleme seçeneği strict math
- GPUAdapter requestAdapterInfo() yöntemini kaldırın
- Dawn ile ilgili güncellemeler
Chrome 130
- Çift kaynaklı karıştırma
- Metal'de gölgelendirici derleme süresinde iyileştirmeler
- GPUAdapter requestAdapterInfo() yönteminin desteğinin sonlandırılması
- Dawn ile ilgili güncellemeler
Chrome 129
Chrome 128
- Alt gruplarla deneme yapma
- Çizgiler ve noktalar için derinlik önyargısı ayarını kullanımdan kaldırma
- preventDefault kullanılıyorsa yakalanmamış hata DevTools uyarısını gizleme
- WGSL, önce örneklemeyi ve ardından
- Dawn ile ilgili güncellemeler
Chrome 127
- Android'de OpenGL ES için deneysel destek
- GPUAdapter info özelliği
- WebAssembly birlikte çalışabilirlik iyileştirmeleri
- Komut kodlayıcı hatalarında iyileştirme
- Dawn ile ilgili güncellemeler
Chrome 126
- maxTextureArrayLayers sınırını artırma
- Vulkan arka ucu için arabellek yükleme optimizasyonu
- Gölgeleyici derleme süresinde iyileştirmeler
- Gönderilen komut arabellekleri benzersiz olmalıdır
- Dawn ile ilgili güncellemeler
Chrome 125
- Alt gruplar (geliştirme aşamasında olan bir özellik)
- 3D dokunun dilimine göre oluşturma
- Dawn ile ilgili güncellemeler
Chrome 124
- Salt okunur ve okuma-yazma depolama dokuları
- Service worker'lar ve shared worker'lar için destek
- Yeni bağdaştırıcı bilgisi özellikleri
- Hata düzeltmeleri
- Dawn ile ilgili güncellemeler
Chrome 123
- WGSL'de DP4a yerleşik işlevleri desteği
- WGSL'de kısıtlanmamış işaretçi parametreleri
- WGSL'de bileşikleri referanssızlaştırmak için sözdizimi kolaylığı
- Şablon ve derinlik yönleri için ayrı salt okunur durum
- Dawn ile ilgili güncellemeler
Chrome 122
- Uyumluluk moduyla erişimi genişletme (geliştirme aşamasında olan bir özellik)
- Maksimum VertexAttributes sınırını artırma
- Dawn ile ilgili güncellemeler
Chrome 121
- Android'de WebGPU'yu destekleme
- Windows'da gölgelendirici derleme için FXC yerine DXC kullanma
- İşleme ve oluşturma geçişlerindeki zaman damgası sorguları
- Shader modüllerine varsayılan giriş noktaları
- GPUExternalTexture renk alanı olarak display-p3'ü destekleme
- Bellek yığınları bilgileri
- Dawn ile ilgili güncellemeler
Chrome 120
- WGSL'de 16 bitlik kayan nokta değerleri için destek
- Sınırları zorlayın
- Derinlik-şablon durumundaki değişiklikler
- Adaptör bilgisi güncellemeleri
- Zaman damgası sorgularının nicemleme işlemi
- Bahar temizliği özellikleri
Chrome 119
- Filtrelenebilir 32 bit kayan noktalı dokular
- unorm10-10-10-2 köşe biçimi
- rgb10a2uint doku biçimi
- Dawn ile ilgili güncellemeler
Chrome 118
copyExternalImageToTexture()
içinde HTMLImageElement ve ImageData desteği- Okuma/yazma ve salt okuma depolama dokusu için deneysel destek
- Dawn ile ilgili güncellemeler
Chrome 117
- Köşe arabelleğini ayarlamayı kaldırma
- Bağlama grubunu kaldırma
- Cihaz kaybolduğunda eşzamansız işlem hattı oluşturma işleminden kaynaklanan hataları sessize alma
- SPIR-V gölgelendirici modülü oluşturma güncellemeleri
- Geliştirici deneyimini iyileştirme
- Otomatik olarak oluşturulan düzene sahip işlem hatlarını önbelleğe alma
- Dawn ile ilgili güncellemeler
Chrome 116
- WebCodecs entegrasyonu
- GPUAdapter
requestDevice()
tarafından döndürülen kayıp cihaz importExternalTexture()
aranırsa video oynatmayı sorunsuz tutma- Spesifikasyona uygunluk
- Geliştirici deneyimini iyileştirme
- Dawn ile ilgili güncellemeler
Chrome 115
- Desteklenen WGSL dil uzantıları
- Direct3D 11 için deneysel destek
- AC güçte varsayılan olarak ayrı GPU kullanma
- Geliştirici deneyimini iyileştirme
- Dawn ile ilgili güncellemeler
Chrome 114
- JavaScript'i optimize etme
- Yapılandırılmamış tuvalde getCurrentTexture() işlevi InvalidStateError hatası veriyor
- WGSL güncellemeleri
- Dawn ile ilgili güncellemeler