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üketilmiş" 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çlanacaktır. Daha önce bu çağrılar, oluşturma sırasında kaybolan bir cihaz döndürüyordu. 415825174 numaralı soruna bakın.

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 kullanılan kısa ifade

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 artık 2D dokularla tutarlılık için textureSampleLevel() kullanılarak örnekleniyor. Bu sayede, daha önce yalnızca textureSample() ile bir parça gölgelendiriciden örneklemek mümkünken artık bir 1D dokuyu bir köşe gölgelendiriciden örnekleyebilirsiniz. 382514673 numaralı soruna bakın.

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

Salt okunur depolama dokularıyla "bgra8unorm" biçiminin kullanımı artık kullanımdan kaldırıldı. WebGPU spesifikasyonu bunu açıkça yasaklıyor 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ı soruna bakın.

GPUAdapter isFallbackAdapter özelliğini kaldırma

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 ile ilgili güncellemeler

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, yüzeyde geçerli bir doku yoksa artık WGPUStatus hatası döndürüyor. 425930323 numaralı sorunu inceleyin.

Yeni wgpu::InstanceFeatureName::MultipleDevicesPerAdapter özelliği, bağdaştırıcıların "tüketilmeden" birden fazla cihaz oluşturmasına olanak tanır. 415825174 numaralı soruna bakın.

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 noktaların bir kısmı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 149-150

Chrome 147-148

Chrome 146

Chrome 145

Chrome 144

Chrome 143

Chrome 142

Chrome 141

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