WebGPU 新功能 (Chrome 138)

François Beaufort
François Beaufort

發布日期:2025 年 6 月 17 日

將緩衝區做為繫結資源使用的簡寫

開發人員現在可以直接使用 GPUBuffer 做為 GPUBindingResource,向著色器公開以進行繫結。這樣一來,就能與其他繫結類型保持一致,而且當大小和偏移量都使用預設值時,甚至比 GPUBufferBinding 更容易使用。請參閱 issue 419223794

const bindGroup = myDevice.createBindGroup({
  layout: myPipeline.getBindGroupLayout(0),
  entries: [
    { binding: 0, resource: mySampler },
    { binding: 1, resource: myTextureView },
    { binding: 2, resource: myExternalTexture },
    { binding: 3, resource: myBuffer }, // Same as { buffer: myBuffer }
    { binding: 4, resource: { buffer: myOtherBuffer, offset: 42 },
  ],
});

在建立時對應的緩衝區大小規定異動

如果 size 不是 4 的倍數,現在將 mappedAtCreation 設為 true 時,建立緩衝區會擲回 RangeError。先前僅會強制執行 GPUValidationError。請參閱問題 405883445

myDevice.createBuffer({
  mappedAtCreation: true,
  size: 42,
  usage: GPUBufferUsage.STORAGE,
});
// Throws RangeError

近期 GPU 的架構報告

Nvidia 和 AMD 的最新 GPU 現在會在 GPUAdapterInfo 中,將架構分別回報為 "blackwell""rdna4",並在 GPU 架構清單中新增幾項次要項目。請參閱問題 417202748

淘汰 GPUAdapter isFallbackAdapter 屬性

GPUAdapter 的 isFallbackAdapter 屬性已淘汰,請改用 Chrome 136 中推出的 GPUAdapterInfo isFallbackAdapter 屬性。請參閱淘汰意圖

黎明更新

CMake 建構作業支援 Emscripten,因此開發人員使用 Emdawnwebgpu 時,可以進一步簡化 WebGPU 跨平台應用程式程式碼,因為 Emdawnwebgpu 會透過瀏覽器 API 實作最新的標準化 webgpu.h。詳情請參閱 change dawn:242894

如需完整指南,請參閱更新後的「使用 WebGPU 建構應用程式」說明文件。

「遠端」Emdawnwebgpu 連接埠現已納入套件版本。Emscripten 4.0.10 以上版本包含這個連接埠的快照,現在支援外部託管的連接埠。如要切換至 Emdawnwebgpu,只要將 emcc -sUSE_WEBGPU 變更為 emcc --use-port=emdawnwebgpu 即可。請參閱 Emscripten PR #24303#24220Dawn CL 243214

這僅涵蓋部分重點。請參閱完整的提交清單

WebGPU 最新消息

WebGPU 最新消息」系列涵蓋的所有主題清單。

Chrome 149-150

Chrome 147-148

Chrome 146

Chrome 145

Chrome 144

Chrome 143

Chrome 142

Chrome 141

Chrome 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

Chrome 131

Chrome 130

Chrome 129

Chrome 128

Chrome 127

Chrome 126

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113