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önderebilirsiniz. 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 arabellek yükleme optimizasyonu
Vulkan arka ucu için GPUQueue'nun writeBuffer() yöntemi çağrılırken artık hızlı bir yol kullanılabilir. Veriler artık doğrudan hedef arabelleğe yazılabilir. Böylece ek kopyalama ve senkronizasyon gerekmez. Bu optimizasyon, GPU'ya veri yüklemek için gereken bellek trafiğini azaltır.
Hızlı yol optimizasyonu için arabelleğin belleğinin ana makine tarafından görünür olması ve üzerinde beklemede GPU işlemi olmaması gerekir. 42242084 numaralı sorunu inceleyin.
Gölgelendirici derleme süresi iyileştirmeleri
Chrome ekibi, WebGPU gölgelendirici dilinin derleyicisi olan Tint'in verimliliğini artırıyor. Tint şu anda makine kodu oluşturmadan önce gölgelendirici kodunun soyut söz dizimi ağacını (AST) birden çok kez değiştiriyor. Bu işlem bazı platformlarda yoğun kaynak kullanımı gerektiriyor. Bunu optimize etmek için, yeni bir ara gösterim (IR) ve bunu kullanan yeniden tasarlanmış arka uçlar kullanıma sunuluyor. Bu değişikliğin amacı, gölgelendirici derleme işlemini hızlandırmaktır.
Android'de zaten kullanılabilen bu iyileştirmeler, Vulkan arka ucu ile WebGPU'yu destekleyen ChromeOS cihazlarına kademeli olarak uygulanmaktadır. 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 değiştirildi. Bu sayede, kullanımı basitleştirildi ve alternatif C++ sarmalayıcılarla daha kolay entegrasyon sağlandı. 40195122 numaralı sorunu inceleyin.
webgpu.h C API'si artık Swapchain nesneleri kavramını açıklamamaktadır. 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 kullanılarak gerçekleştiriliyor. Bu yöntem ileride değişiklikler yapılabilir. 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 her şeyin 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
- Gölgelendirici 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ı
- Gün doğumu güncellemeleri
Chrome 129 sürümü
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
- Gün doğumu güncellemeleri
Chrome 127 sürümü
- Android'de OpenGL ES için deneysel destek
- GPUAdapter bilgi özelliği
- WebAssembly birlikte çalışabilirlik iyileştirmeleri
- İyileştirilmiş komut kodlayıcı hataları
- 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şlev desteği
- WGSL'de sınırsız işaretçi parametreleri
- WGSL'de kompozitleri referans kaldırmak için söz dizimi şekeri
- Şablon ve derinlik özellikleri için ayrı salt okunur durum
- Dawn güncellemeleri
Chrome 122
- Uyumluluk moduyla erişimi genişletme (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üllerine 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 şablonu durumunda yapılan 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
- Gün doğumu 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ücünde ayrı GPU'yu varsayılan olarak alma
- Geliştirici deneyimini iyileştirme
- Dawn güncellemeleri
Chrome 114
- JavaScript'i optimize edin
- Yapılandırılmamış kanvasta getCurrentTexture() InvalidStateError hatası veriyor
- WGSL ile ilgili güncellemeler
- Gün doğumu güncellemeleri
Chrome 113
importExternalTexture()
dosyasında WebCodecs VideoFrame kaynağını kullanma