What's WebGPU 新功能 (Chrome 117 版)

François Beaufort
François Beaufort

未設定頂點緩衝區

GPURenderPassEncoderGPURenderBundleEncoder 上將 null 而非 GPUBuffer 傳遞至 setVertexBuffer(),即可在特定的槽中取消先前設定的頂點緩衝區。請參閱問題 dawn:1675

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

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

取消設定繫結群組

GPURenderPassEncoderGPURenderBundleEncoder 上將 null 而非 GPUBindGroup 傳遞至 setBindGroup(),即可在特定的插槽中取消先前設定的繫結群組。請參閱問題 dawn:1675

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

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

在裝置遺失時,靜默處理從非同步管道建立作業所產生的錯誤

GPUDevicecreateComputePipelineAsync()createRenderPipelineAsync() 方法會傳回 promise,在管道建立作業完成時解析。從現在起,當 GPUDevicelost 時,系統會將來自建立非同步管道的錯誤靜默處理,以盡可能讓遺失的裝置正常運作。請參閱 dawn 問題:1874

SPIR-V 著色器模組建立作業更新

現在使用 createShaderModule() 建立 SPIR-V 著色器模組會擲回 TypeError,除非您使用「Unsafe WebGPU Support」旗標執行 Chrome,因為 SPIR-V 不屬於 WebGPU 規格。在這個異動生效前,使用 SPIR-V 會導致系統產生 GPUInternalError。請參閱變更 chromium:4711911

改善開發人員使用體驗

針對讀寫儲存空間緩衝區和唯寫儲存空間紋理繫結,改善了 vertex 著色器中的繫結群組版面配置繫結驗證錯誤訊息。請參閱 issue dawn:1883

使用自動產生的版面配置快取管道

使用 createRenderPipeline({ layout: "auto" }) 建立的管道現在可充分運用 Chrome 中的快取機制。這表示這些管道將更有效率地建立,並且使用較少的記憶體。請參閱問題 dawn:1933

日出最新消息

wgpu::RequestAdapterOptionsBackendType 現在是 wgpu::RequestAdapterOptions 的一部分,可讓應用程式在取得轉接程式時,更輕鬆地要求特定後端。請參考以下範例和問題 dawn:1875

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

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

我們已為 Node.js 實作了幾種額外方法。請參閱變更 dawn:142465

webgpu.h C API 已將布林值類型從 stdbool 變更為 WGPUBool,也就是 uint32_t。這項變更是為了確保 API 在 C 和 C++ 中具有等同的 ABI

這只涵蓋部分重點功能。請查看完整的修訂版本清單

WebGPU 新功能

以下是「WebGPU 最新消息」系列文章中涵蓋的所有內容。

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