WebGPU'daki Yenilikler (Chrome 117)

François Beaufort
François Beaufort

Köşe arabelleği ayarı kaldırıldı

GPURenderPassEncoder veya GPURenderBundleEncoder üzerinde setVertexBuffer() öğesine GPUBuffer yerine null iletmek, belirli bir slotta daha önce ayarlanmış köşe arabelleğini kaldırmanıza olanak tanır. Sorun şafak:1675 bölümünü inceleyin.

// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);

// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);

Bağlama grubunun ayarını kaldır

GPURenderPassEncoder veya GPURenderBundleEncoder üzerinde setBindGroup() öğesine GPUBindGroup yerine null iletmek, belirli bir alanda daha önce ayarlanmış bir bağlama grubunun ayarını iptal etmenize olanak tanır. Sorun şafak:1675 bölümünü inceleyin.

// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);

// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);

Cihaz kaybolduğunda eşzamansız ardışık düzen oluşturma sırasında karşılaşılan hataların sesini kapat

GPUDevice için createComputePipelineAsync() ve createRenderPipelineAsync() yöntemleri, ardışık düzen oluşturma tamamlandığında çözümlenen bir taahhüt döndürür. Şu andan itibaren, kayıp cihazların mümkün olduğunca fazla çalışıyor gibi görünmesi için GPUDevice lost olduğunda eş zamansız ardışık düzen oluşturma hataları susturulur. dawn issue:1874'e (şafak sorunu: 1874) bakın.

SPIR-V gölgelendirici modülü oluşturma güncellemeleri

createShaderModule() ile bir SPIR-V gölgelendirici modülü oluşturduğunuzda artık Chrome'u "Güvenli Olmayan WebGPU Desteği" ile çalıştırmadığınız sürece TypeError hatası veriliyor. işaretleme, WebGPU spesifikasyonunun bir parçası değildir. Bu değişiklikten önce SPIR-V kullanılması, bunun yerine GPUInternalError oluşturulmasına neden oluyordu. Chrome:4711911 değiştirme bölümüne bakın.

Geliştirici deneyimini iyileştirme

Köşe gölgelendiricideki bağlama grubu düzeni bağlamaları için doğrulama hata mesajı, okuma-yazma depolama arabelleği ve salt yazma özellikli depolama doku bağlamaları için iyileştirildi. Issue dawn:1883'ü görün.

Otomatik olarak oluşturulan düzen ile ardışık düzenleri önbelleğe alma

createRenderPipeline({ layout: "auto" }) ile oluşturulan ardışık düzenler, artık Chrome'daki önbelleğe alma mekanizmalarından yararlanmaktadır. Böylece bu ardışık düzenler daha verimli bir şekilde oluşturulur ve daha az bellek kullanır. Sorun şafak:1933 bölümünü inceleyin.

Şafak güncellemeleri

wgpu::RequestAdapterOptionsBackendType, uygulamaların bağdaştırıcı alırken belirli bir arka uç isteğinde bulunmasını kolaylaştırmak için artık wgpu::RequestAdapterOptions'ın bir parçasıdır. Aşağıdaki örneği ve sorun şafak:1875 bilgisini inceleyin.

wgpu::RequestAdapterOptions options = {
    .backendType = wgpu::BackendType::D3D12};

// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);

Node.js için başka yöntemler de uygulanmıştır. şafak vaktini değiştirme:142465 bölümünü inceleyin.

webgpu.h C API'si, boole değerleri türünü stdbool yerine WGPUBool (uint32_t) olarak değiştirdi. Bu değişiklik, API'nin C ve C++'ta eşdeğer bir ABI'ya sahip olmasını sağlamak için yapılmıştır.

Bunlar, öne çıkan özelliklerden yalnızca bazılarıdır. Taahhütlerin kapsamlı listesini inceleyin.

WebGPU'daki Yenilikler

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

Chrome 127 sürümü

Chrome 126

Chrome 125 sürümü

Chrome 124 sürümü

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119 sürümü

Chrome 118 sürümü

Chrome 117 sürümü

Chrome 116

Chrome 115 sürümü

Chrome 114 sürümü

Chrome 113