Yayınlanma tarihi: 26 Mart 2025
Boş bağlama grubu düzeniyle ardışık düzen oluşturmaya izin verme
Daha önce, boş bir bağlama grubu düzeni oluşturmak için sıfır bağlamaya sahip bir bağlama grubu eklemek gerekiyordu. Bu da uygun değildi. Boş bağlama grubu düzenlerine artık izin verildiği ve ardışık düzen oluşturulurken yoksayıldığı için bu artık gerekli değildir. Bu, geliştirme sürecini kolaylaştıracaktır.
Örneğin, yalnızca 0 ve 2 numaralı bağlama grubu düzenlerini kullanan bir ardışık düzen oluşturmak isteyebilirsiniz. 1. bağlama grubu düzenini parça verilerine, 2. bağlama grubu düzenini ise köşe verilerine atayabilir ve ardından bir parça gölgelendirici olmadan oluşturma işlemi yapabilirsiniz. 377836524 numaralı soruna bakın.
const bgl0 = myDevice.createBindGroupLayout({ entries: myGlobalEntries });
const bgl1 = myDevice.createBindGroupLayout({ entries: myFragmentEntries });
const bgl2 = myDevice.createBindGroupLayout({ entries: myVertexEntries });
// Create a pipeline layout that will be used to render without a fragment shader.
const myPipelineLayout = myDevice.createPipelineLayout({
bindGroupLayouts: [bgl0, null, bgl2],
});
Görüntüleme alanlarının, oluşturma hedefi sınırlarının ötesine geçmesine izin verme
Görüntü alanı doğrulama şartları, görüntü alanlarının oluşturma hedefi sınırlarının ötesine geçmesine izin verecek şekilde gevşetildi. Bu, özellikle mevcut görüntü alanının dışına taşabilecek kullanıcı arayüzü gibi 2D öğeler çizerken kullanışlıdır. 390162929 numaralı soruna bakın.
const passEncoder = myCommandEncoder.beginRenderPass({
colorAttachments: [
{
view: myColorTexture.createView(),
loadOp: "clear",
storeOp: "store",
},
],
});
// Set a viewport that extends past the render target's bounds by 8 pixels
// in all directions.
passEncoder.setViewport(
/*x=*/ -8,
/*y=*/ -8,
/*width=*/ myColorTexture.width + 16,
/*height=*/ myColorTexture.height + 16,
/*minDepth=*/ 0,
/*maxDepth=*/ 1,
);
// Draw geometry and complete the render pass as usual.
Android'de deneysel uyumluluk moduna daha kolay erişim
chrome://flags/#enable-unsafe-webgpu
işareti artık Android'de deneysel WebGPU uyumluluk modu için gereken tüm özellikleri etkinleştiriyor. Böylece, featureLevel: "compatibility"
seçeneğiyle uyumluluk modunda bir GPUAdapter isteyebilir ve hatta Vulkan desteği olmayan cihazlarda OpenGL ES arka ucuna erişebilirsiniz. Aşağıdaki örneğe ve dawn:389876644 kimlikli soruna bakın.
// Request a GPUAdapter in compatibility mode.
const adapter = await navigator.gpu.requestAdapter({ featureLevel: "compatibility" });

maxInterStageShaderComponents sınırını kaldırın
Daha önce duyurulduğu gibi, maxInterStageShaderComponents sınırı aşağıdaki faktörlerin bir kombinasyonu nedeniyle kaldırıldı:
maxInterStageShaderVariables
ile yedeklilik: Bu sınır, gölgelendirici aşamaları arasında aktarılan veri miktarını kontrol ederek zaten benzer bir amaca hizmet etmektedir.- Küçük tutarsızlıklar: İki sınırın hesaplanmasında küçük farklılıklar olsa da bu farklılıklar küçüktür ve
maxInterStageShaderVariables
sınırı dahilinde etkili bir şekilde yönetilebilir. - Basitleştirme:
maxInterStageShaderComponents
kaldırılarak gölgelendirici arayüzü basitleştirilir ve geliştiriciler için karmaşıklık azaltılır. Küçük farklılıkları olan iki ayrı sınırı yönetmek yerine, daha uygun şekilde adlandırılmış ve kapsamlımaxInterStageShaderVariables
'ye odaklanabilirler.
Kaldırma amacı ve 364338810 numaralı sorun hakkında bilgi edinin.
Şafak güncellemeleri
Derinlik dokusu örneklemek için filtreleme örnekleyicisi artık kullanılamaz. Derinlik dokusunun yalnızca filtreleme içermeyen veya karşılaştırma örnekleyicisiyle kullanılabileceğini hatırlatmak isteriz. 379788112 numaralı soruna bakın.
WGPURequiredLimits
ve WGPUSupportedLimits
yapıları WGPULimits
olarak düzleştirildi. 374263404 numaralı sorun konusuna bakın.
Aşağıdaki yapıların adları değiştirildi. 42240793 numaralı sorun için bkz.
WGPUImageCopyBuffer
,WGPUTexelCopyBufferInfo
olarak değiştirilmiştirWGPUImageCopyTexture
,WGPUTexelCopyTextureInfo
olarak değiştirilmiştirWGPUTextureDataLayout
,WGPUTexelCopyBufferLayout
olarak değiştirilmiştir
subgroupMinSize
ve subgroupMaxSize
üyeleri WGPUAdapterInfo
yapısına eklendi. webgpu-headers PR'ye bakın.
Artık programınızı DAWN_TRACE_FILE_BASE
ortam değişkeniyle çalıştırarak Metal'de Dawn API kullanımını izleyebilirsiniz. Bu değişken, daha sonra XCode'un Metal hata ayıklayıcısına yüklenebilecek bir .gputrace dosyası kaydeder. Debugging Dawn belgelerini inceleyin.
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 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 dahil edici tarama yerleşik 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 uğratır 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 elde etme
- 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