WebGPU'daki yenilikler (Chrome 140)

François Beaufort
François Beaufort

Yayınlanma tarihi: 27 Ağustos 2025

Cihaz istekleri adaptörü tüketiyor

WebGPU spesifikasyonuna göre, başarılı bir cihaz isteği üzerine bağdaştırıcı "tüketildi" olarak işaretlenir. Dolayısıyla, aynı bağdaştırıcıyı kullanan sonraki tüm requestDevice() çağrıları artık reddedilen bir sözle sonuçlanacak. Daha önce bu çağrılar, oluşturma sırasında kaybolan bir cihazı döndürüyordu. 415825174 numaralı sorunu inceleyin.

const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();

await adapter.requestDevice(); // Fails because adapter has been consumed.

Doku görünümünün kullanıldığı yerlerde doku kullanmak için kısa yol

GPUTexture artık bağlama için gölgelendiriciye sunulacak bir GPUBindingResource olarak doğrudan kullanılabilir. Ayrıca, daha iyi ergonomi için GPURenderPassColorAttachment view, GPURenderPassColorAttachment resolveTarget ve GPURenderPassDepthStencilAttachment view olarak da kullanılabilir. Bu, varsayılan bir görünüm elde etmek için GPUTextureView kullanmaktan daha basit bir yaklaşım sunar. 425906323 numaralı soruna bakın.

const bindGroup = myDevice.createBindGroup({
  layout: myPipeline.getBindGroupLayout(0),
  entries: [
    { binding: 0, resource: mySampler },
    { binding: 1, resource: myTexture }, // Same as myTexture.createView()
    { binding: 2, resource: myExternalTexture },
    { binding: 3, resource: myBuffer },
  ],
});

WGSL textureSampleLevel, 1 boyutlu dokuları destekler

1D dokular, 2D dokularla tutarlılık sağlamak için artık textureSampleLevel() kullanılarak örneklenerek kullanılabilir. Bu sayede, daha önce yalnızca textureSample() ile bir parça gölgelendiriciden mümkün olan bir köşe gölgelendiriciden 1 boyutlu bir dokuyu örnekleyebilirsiniz. 382514673 numaralı sorunu inceleyin.

bgra8unorm salt okunur depolama dokusu kullanımını kullanımdan kaldırma

Salt okunur depolama dokularıyla "bgra8unorm" biçiminin kullanımı artık desteklenmiyor. WebGPU spesifikasyonu bunu açıkça yasaklar ve bu biçim yalnızca yazma erişimi için tasarlandığından ve taşınabilir olmadığından, Chrome'da daha önce izin verilmesi bir hataydı. 427681156 numaralı sorunu inceleyin.

GPUAdapter isFallbackAdapter özelliğini kaldırın

Daha önce duyurulduğu gibi, GPUAdapter isFallbackAdapter özelliği artık kaldırıldı. Bu özellik, Chrome 136'da kullanıma sunulan GPUAdapterInfo isFallbackAdapter özelliğiyle değiştirildi. Kaldırma amacı başlıklı makaleyi inceleyin.

Dawn güncellemeleri

wgpuInstanceGetWGSLLanguageFeatures() işlevi, örnek tarafından desteklenen WGSL dil özelliklerinin listesini almak için kullanılır. Daha önce WGPUStatus değeri döndürüyordu. Başarısız olamayacağından değer döndürmeyecek şekilde güncellendi. 429178774 numaralı soruna bakın.

wgpuSurfacePresent() işlevi artık yüzeyde geçerli bir doku yoksa WGPUStatus hatası döndürüyor. 425930323 numaralı soruna bakın.

Yeni wgpu::InstanceFeatureName::MultipleDevicesPerAdapter özelliği, adaptörlerin "tüketilmeden" birden fazla cihaz oluşturmasına olanak tanır. 415825174 numaralı sorunu inceleyin.

dump_shaders_on_failure cihaz açma/kapatma düğmesi, hata ayıklama amacıyla yalnızca hata durumunda gölgelendiricileri boşaltmanıza olanak tanır. Bu özellik yalnızca D3 arka uçları için geçerlidir ancak gelecekte diğer arka uçlara da genişletilebilir. 429187478 numaralı soruna bakın.

Vulkan arka ucunda, özellikle mobil GPU'larda performansı artırmak için oluşturma geçişleri gönderilirken ek yükü azaltmaya yönelik çeşitli değişiklikler yapıldı. Örneğin: caching VkFramebuffers.

Bu özet yalnızca önemli noktalardan bazılarını kapsar. Kapsamlı commit listesine göz atın.

WebGPU'daki yenilikler

WebGPU'daki Yenilikler serisinde ele alınan her şeyin listesi.

Chrome 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

Chrome 131

Chrome 130

Chrome 129

Chrome 128

Chrome 127

Chrome 126

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113