Batalkan penetapan buffer verteks
Dengan meneruskan null
, bukan GPUBuffer
ke setVertexBuffer()
di GPURenderPassEncoder
atau GPURenderBundleEncoder
, Anda dapat membatalkan penetapan buffer verteks yang telah ditetapkan sebelumnya dalam slot tertentu. Lihat issue 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 penetapan grup pengikatan
Dengan meneruskan null
, bukan GPUBindGroup
ke setBindGroup()
di GPURenderPassEncoder
atau GPURenderBundleEncoder
, Anda dapat membatalkan penetapan bind group yang telah ditetapkan sebelumnya di slot tertentu. Lihat issue 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 telah selesai. Mulai sekarang, error dari pembuatan pipeline asinkron akan disenyapkan saat GPUDevice
adalah lost
agar perangkat yang hilang tampak berfungsi semaksimal mungkin. Lihat dawn issue:1874.
Pembaruan pembuatan modul shader SPIR-V
Membuat modul shader SPIR-V dengan createShaderModule()
sekarang akan menampilkan TypeError, kecuali jika Anda menjalankan Chrome dengan tanda "Dukungan WebGPU yang 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 selengkapnya.
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
- Penghitungan ketat opsi kompilasi modul shader
- 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
- Menghentikan penggunaan setelan bias kedalaman untuk garis dan titik
- Menyembunyikan peringatan error DevTools yang tidak direkam 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
- Memperbaiki error encoder perintah
- Info terbaru fajar
Chrome 126
- Meningkatkan batas maxTextureArrayLayers
- Pengoptimalan upload buffer untuk backend Vulkan
- Peningkatan waktu kompilasi shader
- Buffer perintah yang dikirimkan harus unik
- Info terbaru fajar
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
- Sugar sintaksis untuk dereferensi komposit dalam 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
- Mencapai 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
- Info terbaru fajar
Chrome 118
- Dukungan HTMLImageElement dan ImageData di
copyExternalImageToTexture()
- Dukungan eksperimental untuk tekstur penyimpanan baca-tulis dan hanya baca
- Info terbaru fajar
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
- Info terbaru WGSL
- Pembaruan Dawn