Yayınlanma tarihi: 23 Nisan 2025
GPUAdapterInfo isFallbackAdapter özelliği
GPUAdapterInfo isFallbackAdapter
boole özelliği, bir GPUAdapter'ın daha geniş uyumluluk, daha tahmin edilebilir davranış veya daha iyi gizlilik karşılığında önemli performans sınırlamalarına sahip olup olmadığını belirtir. Kullanıcı tarafından sağlanan GPUDevice nesnelerini alan kitaplıklar, GPUDevice'daki adapterInfo
özelliği aracılığıyla bu bilgilere erişemediğinden bu ekleme gerekliydi. Aşağıdaki örneğe ve 403172841 numaralı soruna bakın.
const adapter = await navigator.gpu.requestAdapter();
if (adapter?.info.isFallbackAdapter) {
// The returned adapter is a software-backed fallback adapter, which
// may have significantly lower performance and fewer features.
}
Chrome henüz yedek bağdaştırıcılar için destek sunmadığından isFallbackAdapter
, kullanıcıların cihazlarında şu anda her zaman yanlış değerini alır. GPUAdapter isFallbackAdapter
özelliğinin desteğinin sonlandırılıp kaldırılıp kaldırılamayacağını araştırıyoruz. Gönderme niyeti bölümüne bakın.
D3D12'de gölgelendirici derleme süresi iyileştirmeleri
Chrome ekibi, D3D12 arka ucu ile WebGPU'yu destekleyen cihazlar için bir ara temsil (IR) ekleyerek WebGPU gölgelendirici dili derleyicisi Tint'i iyileştirmeye devam ediyor. Tint'in soyut söz dizimi ağacı (AST) ile HLSL arka uç yazarı arasına yerleştirilen bu IR, derleyiciyi daha verimli ve bakımı kolay hale getirerek hem geliştiricilere hem de kullanıcılara fayda sağlayacak. İlk testler, Unity'nin WGSL gölgelendiricilerini HLSL'ye çevirirken Tint'in yeni sürümünün 10 kata kadar daha hızlı olduğunu gösteriyor.

Android, ChromeOS ve macOS'te kullanılabilen bu iyileştirmeler, D3D12 arka ucu ile WebGPU'yu destekleyen Windows cihazlarına kademeli olarak uygulanmaktadır. 42251045 numaralı soruna bakın.
Kanvas resimlerini kaydetme ve kopyalama
Chrome kullanıcıları artık bir WebGPU kanvasına sağ tıklayıp Resmi Farklı Kaydet veya Resmi Kopyala bağlam menüsü seçeneklerine erişebilir. 40902474 numaralı soruna bakın.

Artış uyumluluk modu kısıtlamaları
GPUDevice üzerinde kullanılabilen deneysel "core-features-and-limits"
özelliği, chrome://flags/#enable-unsafe-webgpu
işareti etkinleştirildiğinde tüm uyumluluk modu kısıtlamalarını (özellikler ve sınırlar) kaldırır. 395855517 numaralı soruna bakın.
featureLevel: "compatibility"
seçeneğiyle GPUAdapter isteğinde bulunmak, tarayıcıya deneysel WebGPU uyumluluk modunu seçmesi için ipucu verir. İşlem başarılı olursa sonuçta "uyumluluk-varsayılan" bir bağdaştırıcı elde edilir. Aksi takdirde, "core-defaulting" (temel varsayılan) kullanılır. Bu, featureLevel: "core"
seçeneğini kullanmakla aynıdır. Ayrıca, requiredFeatures
ve requiredLimits
olmadan requestDevice()
çağrısı yapıldığında GPUAdapter'ın varsayılan özellikleriyle bir GPUDevice istenir.
Çekirdek varsayılan adaptörleri her zaman "core-features-and-limits"
özelliğini destekler ve bu adaptörlerden oluşturulan GPUDevices'da otomatik olarak etkinleştirilir. Uyumluluk için varsayılan olarak ayarlanan bağdaştırıcılar için "core-features-and-limits"
özelliği desteklenebilir ve bu bağdaştırıcılar tarafından oluşturulan GPUDevices'de istenebilir. Her iki adaptör türü de hem temel hem de uyumluluk modlarında isteğe bağlı olan "float32-blendable"
gibi özellikleri destekleyebilir.
Aşağıdaki örnek, "float32-blendable"
gerektiren ve mevcutsa temel özelliklerin kullanılmasını destekleyen ancak temel özellikler mevcut değilse yalnızca uyumluluk özelliklerini kullanan bir uygulama içindir.
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });
if (!adapter || !adapter.features.has("float32-blendable")) {
throw new Error("32-bit float textures blending support is not available");
}
const requiredFeatures = [];
if (adapter.features.has("core-features-and-limits")) {
requiredFeatures.push("core-features-and-limits");
}
const device = await adapter.requestDevice({ requiredFeatures });
if (!device.features.has("core-features-and-limits")) {
// Compatibility mode restrictions validation rules will apply.
}
Deneysel GPUAdapter featureLevel
ve isCompatibilityMode
özellikleri, "core-features-and-limits"
özelliğinin kullanılması için kaldırıldı. 395855516 numaralı soruna bakın.
Şafak güncellemeleri
Geri çağırma durumu enum InstanceDropped
, geri çağırmanın iptal edildiğini ancak etkinlikle ilişkili arka plan işlemlerinin (ör. ardışık düzen derlemesi) hâlâ devam edebileceğini belirtmek için CallbackCancelled
olarak yeniden adlandırıldı. Yeni ad, daha sonra başka bir iptal mekanizması eklenebileceği için daha genel bir kullanıma sahiptir. 520. sayıya bakın.
Hata kapsamı yığınının pop edilemediğini belirten wgpu::PopErrorScopeStatus::EmptyStack
enum, wgpu::PopErrorScopeStatus::Error
olarak yeniden adlandırıldı (bu enum daha genel bir şekilde de geçerlidir). Geri çağırma artık hata ayıklama işlemine yardımcı olmak için ilgili bir hata açıklaması mesajı da içeriyor. 369 numaralı soruna bakın.
Bu, önemli noktalardan yalnızca bazılarını kapsar. Kapsamlı commit listesine göz atın.
WebGPU'daki Yenilikler
WebGPU'daki Yenilikler serisinde ele alınan tüm konuların listesi.
Chrome 136
- GPUAdapterInfo isFallbackAdapter özelliği
- D3D12'de gölgelendirici derleme süresiyle ilgili iyileştirmeler
- Kanvas resimlerini kaydetme ve kopyalama
- Artış uyumluluk modu kısıtlamaları
- Dawn güncellemeleri
Chrome 135
- Boş bağlama grubu düzeniyle ardışık düzen oluşturmaya izin verme
- Görüntüleme alanlarının, oluşturma hedefi sınırlarının dışına taşmasına izin verme
- Android'de deneysel uyumluluk moduna daha kolay erişim
- maxInterStageShaderComponents sınırını kaldırma
- Dawn güncellemeleri
Chrome 134
- Alt gruplarla makine öğrenimi iş yüklerini iyileştirme
- Karıştırılabilir olarak kayan nokta filtrelenebilir doku türleri desteğini kaldırın
- Dawn güncellemeleri
Chrome 133
- Ek unorm8x4-bgra ve 1 bileşenli köşe noktası biçimleri
- Bilinmeyen sınırların, tanımlanmamış değerle istenmesine izin ver
- WGSL hizalama kurallarında yapılan değişiklikler
- Atma özelliğiyle WGSL performans kazanımları
- Harici dokular için VideoFrame displaySize özelliğini kullanma
- copyExternalImageToTexture işlevini kullanarak varsayılan olmayan yönlere sahip resimleri işleme
- Geliştirici deneyimini iyileştirme
- featureLevel ile uyumluluk modunu etkinleştirme
- Deneysel alt grup özelliklerini temizleme
- maxInterStageShaderComponents sınırının desteği sonlandırıldı
- Dawn güncellemeleri
Chrome 132
- Doku görünümü kullanımı
- 32 bit kayan noktalı dokuların harmanlanması
- GPUDevice adapterInfo özelliği
- Tuval bağlamını geçersiz biçimle yapılandırma JavaScript hatası oluşturuyor
- Dokularda filtreleme örnekleyicisi kısıtlamaları
- Genişletilmiş alt grup denemeleri
- Geliştirici deneyimini iyileştirme
- 16 bit normalleştirilmiş doku biçimleri için deneysel destek
- Dawn güncellemeleri
Chrome 131
- WGSL'de mesafeleri kırpma
- GPUCanvasContext getConfiguration()
- Nokta ve çizgi primitiflerinde derinlik önyargısı olmamalıdır
- Alt gruplar için dahili kapsayıcı tarama işlevleri
- Çoklu çizim için deneysel destek
- Shader modülü derleme seçeneği katı matematik
- GPUAdapter requestAdapterInfo() yönteminin kaldırılması
- Dawn güncellemeleri
Chrome 130
- Çift kaynak karıştırma
- Metal'de gölgelendirici derleme süresi iyileştirmeleri
- GPUAdapter requestAdapterInfo() desteğinin sonlandırılması
- Dawn güncellemeleri
Chrome 129
Chrome 128
- Alt gruplarla deneme yapma
- Çizgiler ve noktalar için derinlik önyargısı ayarının desteği sonlandırıldı
- preventDefault ise yakalanmayan hata DevTools uyarısını gizleme
- WGSL, önce örneklemeyi enterpolasyona tabi tutar ve ardından
- Dawn güncellemeleri
Chrome 127
- Android'de OpenGL ES için deneysel destek
- GPUAdapter bilgi özelliği
- WebAssembly birlikte çalışabilirlik iyileştirmeleri
- Komut kodlayıcı hataları iyileştirildi
- Dawn güncellemeleri
Chrome 126
- maxTextureArrayLayers sınırını artırma
- Vulkan arka uç için arabellek yükleme optimizasyonu
- Gölgelendirici derleme süresiyle ilgili iyileştirmeler
- Gönderilen komut arabellekleri benzersiz olmalıdır
- Dawn güncellemeleri
Chrome 125
Chrome 124
- Salt okunur ve okuma/yazma depolama alanı dokuları
- Hizmet çalışanları ve paylaşılan çalışanlar desteği
- Yeni adaptör bilgileri özellikleri
- Hata düzeltmeleri
- Dawn güncellemeleri
Chrome 123
- WGSL'de DP4a yerleşik işlevleri desteği
- WGSL'de sınırsız işaretçi parametreleri
- WGSL'de bileşimlerin referansını kaldırmak için söz dizimi
- Şablon ve derinlik özellikleri için ayrı salt okunur durum
- Dawn güncellemeleri
Chrome 122
- Uyumluluk modu ile erişimi genişletin (geliştirme aşamasındaki özellik)
- maxVertexAttributes sınırını artırma
- Dawn güncellemeleri
Chrome 121
- Android'de WebGPU desteği
- Windows'ta gölgelendirici derleme için FXC yerine DXC'yi kullanma
- İşleme ve oluşturma geçişlerinde zaman damgası sorguları
- Gölgelendirici modüllerinin varsayılan giriş noktaları
- GPUExternalTexture renk alanı olarak display-p3 desteği
- Bellek yığınları bilgileri
- Dawn güncellemeleri
Chrome 120
- WGSL'de 16 bitlik kayan nokta değerleri için destek
- Sınırları zorlayın
- Derinlik gölgesi durumundaki değişiklikler
- Adaptör bilgileri güncellemeleri
- Zaman damgası sorgularının kesirli sayılara dönüştürülmesi
- Bahar temizliği özellikleri
Chrome 119
- Filtrelenebilir 32 bit kayan noktalı dokular
- unorm10-10-10-2 köşe noktası biçimi
- rgb10a2uint doku biçimi
- Dawn güncellemeleri
Chrome 118
copyExternalImageToTexture()
'te HTMLImageElement ve ImageData desteği- Okuma/yazma ve salt okuma depolama dokusu için deneysel destek
- Dawn güncellemeleri
Chrome 117
- Köşe noktası arabelleğinin ayarını kaldırma
- Bağlama grubunu kaldırma
- Cihaz kaybolduğunda, eşzamansız ardışık düzen oluşturma işlemlerinden kaynaklanan hataları yoksayma
- SPIR-V gölgelendirici modülü oluşturma güncellemeleri
- Geliştirici deneyimini iyileştirme
- Otomatik olarak oluşturulan düzenle ardışık düzenleri önbelleğe alma
- Dawn güncellemeleri
Chrome 116
- WebCodecs entegrasyonu
- Kayıp cihaz, GPUAdapter
requestDevice()
tarafından döndürüldü importExternalTexture()
çağrılırsa video oynatmanın sorunsuz olmasını sağlama- Spesifikasyona uygunluk
- Geliştirici deneyimini iyileştirme
- Dawn güncellemeleri
Chrome 115
- Desteklenen WGSL dil uzantıları
- Direct3D 11 için deneysel destek
- AC güç kaynağında varsayılan olarak ayrı GPU'yu etkinleştirme
- Geliştirici deneyimini iyileştirme
- Dawn güncellemeleri
Chrome 114
- JavaScript'i optimize etme
- Yapılandırılmamış kanvasta getCurrentTexture() InvalidStateError hatası veriyor
- WGSL ile ilgili güncellemeler
- Dawn güncellemeleri
Chrome 113
importExternalTexture()
dosyasında WebCodecs VideoFrame kaynağını kullanma