maxTextureArrayLayers sınırını artırma
2D bir dokunun derinliği veya katman sayısı için izin verilen maksimum değer varsayılan olarak 256'dır. Desteklendiğinde maxTextureArrayLayers sınırını kullanarak 2048'e kadar istek göndermek artık mümkün. Aşağıdaki örneğe ve 42241514 numaralı soruna bakın.
const adapter = await navigator.gpu.requestAdapter();
if (adapter.limits.maxTextureArrayLayers < 30) {
// When the desired limit isn't supported, take action to either fall back to
// a code path that does not require the higher limit or notify the user that
// their device does not meet minimum requirements.
}
// Request highest limit of max texture array layers attributes.
const device = await adapter.requestDevice({
requiredLimits: { maxTextureArrayLayers: 2048 }
});
Vulkan arka ucu için arabelleğe yükleme optimizasyonu
Vulkan arka ucu için GPUQueue'ın writeBuffer() yöntemi artık hızlı bir şekilde çağrılabilir. Veriler artık doğrudan hedef arabelleğe yazılabilir. Böylece ek kopyalama ve senkronizasyon gerekmez. Bu optimizasyon, verileri GPU'ya yüklemek için gereken bellek trafiğini azaltır.
Hızlı yol optimizasyonu, arabelleğin belleğinin ana makineye görünür olmasını ve üzerinde bekleyen GPU işlemi bulunmamasını gerektirir. 42242084 numaralı soruna bakın.
Gölgelendirici derleme süresi iyileştirmeleri
Chrome ekibi, WebGPU gölgelendirici dilinin derleyicisi olan Tint'in verimliliğini artırıyor. Tint, makine kodu oluşturmadan önce gölgelendirici kodunun soyut söz dizimi ağacını (AST) şu anda birden çok kez değiştiriyor. Bu işlem bazı platformlarda yoğun kaynak kullanımı gerektiriyor. Bu işlemi optimize etmek için, bu yeni ara temsili (IR) kullanan yeniden tasarlanmış arka uçlarla birlikte yeni bir ara temsil (IR) kullanıma sunulmaktadır. Bu değişiklik, gölgelendirici derlemeyi hızlandırmayı amaçlamaktadır.
Android'de zaten kullanılabilen bu iyileştirmeler, Vulkan arka ucu ile WebGPU'yu destekleyen ChromeOS cihazlarına kademeli olarak uygulanıyor. 42250751 numaralı soruna bakın.
Gönderilen komut arabellekleri benzersiz olmalıdır
GPUQueue'a submit()
yöntemiyle gönderilen her GPUCommandBuffer benzersiz olmalıdır. Aksi takdirde doğrulama hatası oluşur. Bu, özellik hatasıydı. 42241492 numaralı soruna bakın.
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
const commandEncoder = device.createCommandEncoder();
const commandBuffer = commandEncoder.finish();
device.queue.submit([commandBuffer, commandBuffer]);
// ⚠️ Validation fails because command buffers are not unique.
Şafak güncellemeleri
C++ sarmalayıcı webgpu_cpp.h artık yalnızca üstbilgi içerecek şekilde basitleştirildi ve alternatif C++ sarmalayıcılarla daha kolay entegrasyon sağlandı. 40195122 numaralı soruna bakın.
webgpu.h C API'si artık Swapchain nesneleri kavramını göstermez. Bu değişiklik, JavaScript API ile daha uyumlu olması için yapılmıştır. Dahili yapılandırma artık yeni wgpu::Surface
nesnesinin Configure()
yöntemi aracılığıyla yapılır ve gelecekte değiştirilebilir. WebGPU ile uygulama oluşturma dokümanlarında bir örneğe göz atın. 42241264 numaralı soruna bakın.
Kapsamlı commit listesine göz atın.
WebGPU'daki Yenilikler
WebGPU'daki Yenilikler serisinde ele alınan tüm konuların listesi.
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öntemini kaldırın
- Dawn güncellemeleri
Chrome 130
- Çift kaynak karıştırma
- Metal'de gölgelendirici derleme süresiyle ilgili iyileştirmeler
- 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 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ı hakkında bilgi
- 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