Membatalkan penetapan buffer verteks
Dengan meneruskan null
, bukan GPUBuffer
ke setVertexBuffer()
pada GPURenderPassEncoder
atau GPURenderBundleEncoder
, Anda dapat membatalkan penetapan buffer verteks yang telah ditetapkan sebelumnya dalam slot tertentu. Lihat masalah fawn:1675.
// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);
// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);
Batalkan penetapan bind group
Dengan meneruskan null
, bukan GPUBindGroup
ke setBindGroup()
di GPURenderPassEncoder
atau GPURenderBundleEncoder
, Anda dapat membatalkan penetapan bind group yang ditetapkan sebelumnya di slot tertentu. Lihat masalah fawn:1675.
// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);
// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);
Senyapkan 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 disenyapkan saat GPUDevice
dalam status lost
agar perangkat yang hilang tampak berfungsi semaksimal mungkin. Lihat masalah fajar:1874.
Update pembuatan modul shader SPIR-V
Pembuatan modul shader SPIR-V dengan createShaderModule()
kini akan menampilkan TypeError, kecuali jika Anda menjalankan Chrome dengan tanda "Dukungan WebGPU Tidak Aman" karena SPIR-V bukan bagian dari spesifikasi WebGPU. Sebelum perubahan ini menggunakan SPIR-V akan menyebabkan GPUInternalError dibuat sebagai gantinya.
Lihat change chromium:4711911.
Meningkatkan pengalaman developer
Pesan error validasi untuk binding tata letak bind group di shader verteks telah ditingkatkan untuk buffer penyimpanan baca-tulis dan binding tekstur penyimpanan hanya tulis. Lihat masalah dawn:1883.
Menyimpan pipeline ke dalam cache dengan tata letak yang dibuat secara otomatis
Pipeline yang dibuat dengan createRenderPipeline({ layout: "auto" })
kini memanfaatkan mekanisme penyimpanan cache di Chrome. Artinya, pipeline ini akan dibuat secara lebih efisien dan akan menggunakan lebih sedikit memori. Lihat masalah fawn:1933.
Update Fajar
wgpu::RequestAdapterOptionsBackendType
kini menjadi bagian dari wgpu::RequestAdapterOptions
untuk memudahkan aplikasi meminta backend tertentu saat mendapatkan adaptor. Lihat contoh dan issue dawn:1875 berikut.
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.
webgpu.h C API 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++.
Artikel ini hanya mencakup beberapa sorotan utama. Lihat daftar lengkap commit.
Yang Baru di WebGPU
Daftar semua hal yang tercakup dalam seri What's New in WebGPU.
Chrome 125
Chrome 124
- Tekstur penyimpanan hanya baca dan baca-tulis
- Dukungan pekerja layanan dan pekerja bersama
- Atribut informasi adaptor baru
- Perbaikan bug
- Update fajar
Chrome 123
- Dukungan fungsi bawaan DP4a dalam WGSL
- Parameter pointer yang tidak dibatasi dalam WGSL
- Gula sintaksis untuk dereferensi komposit dalam WGSL
- Pisahkan status hanya baca untuk aspek stensil dan kedalaman
- Update fajar
Chrome 122
- Memperluas jangkauan dengan mode kompatibilitas (fitur dalam pengembangan)
- Meningkatkan batas maxVertexAttributes
- Update fajar
Chrome 121
- Mendukung WebGPU di Android
- Menggunakan DXC, bukan FXC, untuk kompilasi shader di Windows
- Kueri stempel waktu dalam penerusan komputasi dan render
- Titik entri default ke modul shader
- Mendukung display-p3 sebagai ruang warna GPUExternalTexture
- Info heap memori
- Update fajar
Chrome 120
- Dukungan untuk nilai floating point 16-bit dalam WGSL
- Capai batas
- Perubahan pada status stensil kedalaman
- 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
- Update fajar
Chrome 118
- Dukungan HTMLImageElement dan ImageData di
copyExternalImageToTexture()
- Dukungan eksperimental untuk tekstur penyimpanan baca-tulis dan hanya baca
- Update fajar
Chrome 117
- Membatalkan penetapan buffer verteks
- Tidak menetapkan bind group
- Menonaktifkan error dari pembuatan pipeline asinkron saat perangkat hilang
- Update pembuatan modul shader SPIR-V
- Meningkatkan pengalaman developer
- Menyimpan data dalam cache dengan tata letak yang dibuat secara otomatis
- Update fajar
Chrome 116
- Integrasi WebCodecs
- Perangkat hilang yang ditampilkan oleh GPUAdapter
requestDevice()
- Buat pemutaran video tetap lancar jika
importExternalTexture()
dipanggil - Kesesuaian spesifikasi
- Meningkatkan pengalaman developer
- Update fajar
Chrome 115
- Ekstensi bahasa WGSL yang didukung
- Dukungan eksperimental untuk Direct3D 11
- Mendapatkan GPU diskret secara default menggunakan daya AC
- Meningkatkan pengalaman developer
- Update fajar
Chrome 114
- Mengoptimalkan JavaScript
- getCurrentTexture() pada kanvas yang tidak dikonfigurasi menampilkan InvalidStateError
- Info terbaru WGSL
- Update fajar