Membatalkan setelan buffer vertex
Meneruskan null
, bukan GPUBuffer
, ke setVertexBuffer()
di GPURenderPassEncoder
atau GPURenderBundleEncoder
memungkinkan Anda membatalkan penetapan buffer vertex yang sebelumnya ditetapkan di slot tertentu. Lihat masalah dawn:1675.
// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);
// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);
Membatalkan setelan grup pengikatan
Meneruskan null
, bukan GPUBindGroup
, ke setBindGroup()
di GPURenderPassEncoder
atau GPURenderBundleEncoder
memungkinkan Anda membatalkan penetapan grup pengikatan yang ditetapkan sebelumnya di slot tertentu. Lihat masalah dawn:1675.
// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);
// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);
Menyembunyikan error dari pembuatan pipeline asinkron saat perangkat hilang
Metode createComputePipelineAsync()
dan createRenderPipelineAsync()
dari GPUDevice
menampilkan promise yang di-resolve saat pembuatan pipeline selesai. Mulai sekarang, error dari pembuatan pipeline asinkron akan dibisukan saat GPUDevice
adalah lost
untuk membuat perangkat yang hilang berfungsi sebanyak mungkin. Lihat dawn issue:1874.
Pembaruan pembuatan modul shader SPIR-V
Membuat modul shader SPIR-V dengan createShaderModule()
kini menampilkan TypeError kecuali jika Anda menjalankan Chrome dengan flag "Dukungan WebGPU Tidak Aman" karena SPIR-V bukan bagian dari spesifikasi WebGPU. Sebelum perubahan ini, penggunaan SPIR-V akan menyebabkan GPUInternalError dihasilkan.
Lihat perubahan chromium:4711911.
Meningkatkan pengalaman developer
Pesan error validasi untuk binding tata letak grup pengikatan di shader vertex telah ditingkatkan untuk buffering penyimpanan baca-tulis dan binding tekstur penyimpanan hanya baca. Lihat masalah dawn:1883.
Menyimpan cache pipeline dengan tata letak yang dibuat secara otomatis
Pipeline yang dibuat dengan createRenderPipeline({ layout: "auto" })
kini memanfaatkan mekanisme penyimpanan dalam cache di Chrome. Artinya, pipeline ini akan dibuat secara lebih efisien dan akan menggunakan lebih sedikit memori. Lihat masalah dawn:1933.
Update fajar
wgpu::RequestAdapterOptionsBackendType
kini menjadi bagian dari wgpu::RequestAdapterOptions
untuk memudahkan aplikasi meminta backend tertentu saat mendapatkan adaptor. Lihat contoh berikut dan issue dawn:1875.
wgpu::RequestAdapterOptions options = {
.backendType = wgpu::BackendType::D3D12};
// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);
Beberapa metode tambahan telah diterapkan untuk Node.js. Lihat change dawn:142465.
API C webgpu.h telah mengubah jenisnya untuk nilai boolean dari stdbool
menjadi WGPUBool
, yang merupakan uint32_t
. Perubahan ini dilakukan untuk memastikan bahwa API memiliki ABI yang setara di C dan C++.
Bagian ini hanya membahas beberapa sorotan utama. Lihat daftar commit yang lengkap.
Yang Baru di WebGPU
Daftar semua yang telah dibahas dalam seri Yang Baru di WebGPU.
Chrome 131
- Memotong jarak di WGSL
- GPUCanvasContext getConfiguration()
- Primitif titik dan garis tidak boleh memiliki bias kedalaman
- Fungsi bawaan pemindaian inklusif untuk subgrup
- Dukungan eksperimental untuk multi-gambar tidak langsung
- Opsi kompilasi modul shader matematika ketat
- Menghapus GPUAdapter requestAdapterInfo()
- Pembaruan Dawn
Chrome 130
- Penggabungan sumber ganda
- Peningkatan waktu kompilasi shader di Metal
- Penghentian penggunaan requestAdapterInfo() GPUAdapter
- Pembaruan Dawn
Chrome 129
Chrome 128
- Bereksperimen dengan subgrup
- Penghentian penggunaan setelan bias kedalaman untuk garis dan titik
- Menyembunyikan peringatan DevTools error yang tidak tertangkap jika preventDefault
- WGSL melakukan interpolasi sampling terlebih dahulu dan
- Pembaruan Dawn
Chrome 127
- Dukungan eksperimental untuk OpenGL ES di Android
- Atribut info GPUAdapter
- Peningkatan interop WebAssembly
- Error encoder perintah yang ditingkatkan
- Pembaruan Dawn
Chrome 126
- Meningkatkan batas maxTextureArrayLayers
- Pengoptimalan upload buffering untuk backend Vulkan
- Peningkatan waktu kompilasi shader
- Buffer perintah yang dikirimkan harus unik
- Pembaruan Dawn
Chrome 125
Chrome 124
- Tekstur penyimpanan hanya baca dan baca-tulis
- Dukungan pekerja layanan dan pekerja bersama
- Atribut informasi adaptor baru
- Perbaikan bug
- Pembaruan Dawn
Chrome 123
- Dukungan fungsi bawaan DP4a di WGSL
- Parameter pointer yang tidak dibatasi di WGSL
- Sintaksis yang lebih mudah untuk dereferensi komposit di WGSL
- Status hanya baca terpisah untuk aspek stencil dan kedalaman
- Pembaruan Dawn
Chrome 122
- Memperluas jangkauan dengan mode kompatibilitas (fitur dalam pengembangan)
- Meningkatkan batas maxVertexAttributes
- Pembaruan Dawn
Chrome 121
- Mendukung WebGPU di Android
- Menggunakan DXC, bukan FXC, untuk kompilasi shader di Windows
- Kueri stempel waktu dalam penerusan komputasi dan rendering
- Titik entri default ke modul shader
- Mendukung display-p3 sebagai ruang warna GPUExternalTexture
- Info heap memori
- Pembaruan Dawn
Chrome 120
- Dukungan untuk nilai floating point 16-bit di WGSL
- Mendorong batas
- Perubahan pada status kedalaman-stensil
- Pembaruan informasi adaptor
- Kuantisasi kueri stempel waktu
- Fitur bersih-bersih
Chrome 119
- Tekstur float 32-bit yang dapat difilter
- Format verteks unorm10-10-10-2
- Format tekstur rgb10a2uint
- Pembaruan Dawn
Chrome 118
- Dukungan HTMLImageElement dan ImageData di
copyExternalImageToTexture()
- Dukungan eksperimental untuk tekstur penyimpanan baca-tulis dan hanya baca
- Pembaruan Dawn
Chrome 117
- Membatalkan penetapan buffer verteks
- Membatalkan penetapan grup pengikatan
- Menyembunyikan error dari pembuatan pipeline asinkron saat perangkat hilang
- Pembaruan pembuatan modul shader SPIR-V
- Meningkatkan pengalaman developer
- Menyimpan cache pipeline dengan tata letak yang dibuat secara otomatis
- Pembaruan Dawn
Chrome 116
- Integrasi WebCodecs
- Perangkat yang hilang ditampilkan oleh
requestDevice()
GPUAdapter - Membuat pemutaran video tetap lancar jika
importExternalTexture()
dipanggil - Kepatuhan spesifikasi
- Meningkatkan pengalaman developer
- Pembaruan Dawn
Chrome 115
- Ekstensi bahasa WGSL yang didukung
- Dukungan eksperimental untuk Direct3D 11
- Mendapatkan GPU terpisah secara default pada daya AC
- Meningkatkan pengalaman developer
- Pembaruan Dawn
Chrome 114
- Optimize JavaScript
- getCurrentTexture() pada kanvas yang tidak dikonfigurasi akan menampilkan InvalidStateError
- Update WGSL
- Pembaruan Dawn