WebGPU の新機能(Chrome 117)

François Beaufort
François Beaufort

頂点バッファの設定解除

GPURenderPassEncoder または GPURenderBundleEncoderGPUBuffer ではなく nullsetVertexBuffer() に渡すと、特定のスロットで以前に設定された頂点バッファの設定を解除できます。問題 dawn:1675 をご覧ください。

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

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

バインド グループの設定を解除します

GPURenderPassEncoder または GPURenderBundleEncoderGPUBindGroup ではなく nullsetBindGroup() に渡すと、特定のスロットで以前に設定されたバインド グループの設定を解除できます。問題 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 issue:1874 をご覧ください。

SPIR-V シェーダー モジュールの作成に関する更新

createShaderModule()SPIR-V シェーダー モジュールを作成すると、Chrome で [Unsafe WebGPU Support] を指定しない限り TypeError がスローされるようになりました。フラグは、SPIR-V は WebGPU の仕様には含まれていません。この変更が行われる前は、SPIR-V を使用して GPUInternalError が発生していました。 変更 chromium:4711911 をご覧ください。

デベロッパー エクスペリエンスの向上

頂点シェーダーのバインド グループ レイアウト バインディングの検証エラー メッセージが、読み取り / 書き込みストレージ バッファと書き込み専用ストレージ テクスチャ バインディングで改善されました。問題 dawn:1883 をご覧ください。

自動生成されたレイアウトを使用したキャッシュ パイプライン

createRenderPipeline({ layout: "auto" }) で作成されたパイプラインで、Chrome のキャッシュ メカニズムを利用できるようになりました。つまり、これらのパイプラインがより効率的に作成され、使用するメモリが少なくなります。問題 dawn:1933 をご覧ください。

夜明けの最新情報

wgpu::RequestAdapterOptionsBackendTypewgpu::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 から WGPUBooluint32_t)に変更されました。この変更は、C と C++ で API に同等の ABI が存在することを確認するために行われました。

ここでは、主なハイライトの一部のみを取り上げています。コミットの一覧をご確認ください。

WebGPU の新機能

WebGPU の新機能」シリーズに記載されている全内容のリスト。

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