WebGPU の新機能(Chrome 122)

François Beaufort
François Beaufort

今回は、WebGPU の機能は少々軽く見えるかもしれませんが、大きな進歩は目前です。今後のリリースには、DP4a、読み取り専用および読み取り / 書き込みストレージ テクスチャ、個別のステンシルと深度アスペクト制御、3D テクスチャ スライスへのレンダリング、シェーダー コンパイルの改善などが含まれます。

それまでの間、ヘッドレス Chrome での WebGPU と WebGL のサポートによりウェブ AI モデルのテストを強化する方法と Chrome で WebGPU が無効になる、または動作しない理由をご確認ください。

互換モードでリーチを拡大する(開発中の機能)

WebGPU は最新のグラフィック API(Vulkan、Metal、D3D12)とうまく連携しますが、デバイスによっては、これらの API をサポートしていません。これにより、特に Windows(Chrome ユーザーの 31% が D3D11.1 以降を搭載していない)、Android(23% が Vulkan 1.1 以降を搭載していない)、ChromeOS(増加しつつある Vulkan の採用)などのプラットフォームで WebGPU のアクセシビリティが制限されます。

Chrome チームはこの問題に対処するため、D3D11 や OpenGL ES などの古い API で動作する WebGPU のわずかに制限されたバージョンを提供することで、WebGPU の互換モードに取り組んでいます。これにより、WebGPU の潜在的なユーザーベースが拡大します。

重要な点として、互換モードを使用しているアプリケーションは、引き続き完全に有効な WebGPU アプリケーションとなります。互換モードに対応していないデバイスでは、デフォルトでコア WebGPU アダプタが使用されるため、幅広いユーザビリティが保証されます。

<ph type="x-smartling-placeholder">
</ph> WebGPU 互換モードの図。
WebGPU 互換モードのリーチ拡大

提案をご確認ください。不明な点がある場合は、コメントしてください。

maxVertexAttributes の上限を引き上げる

GPURenderPipeline を作成する際、バッファ全体での属性の最大数はデフォルトで 16 です。サポートされている場合は、maxVertexAttributes の上限を使用して 30 個までリクエストできるようになりました。次の例と問題 dawn:2223 をご覧ください。

const adapter = await navigator.gpu.requestAdapter();

if (adapter.limits.maxVertexAttributes < 30) {
  // When the desired limit isn't supported, take action to either fall back to
  // a code path that does not require the higher limit or notify the user that
  // their device does not meet minimum requirements.
}

// Request highest limit of max vertex attributes.
const device = await adapter.requestDevice({
  requiredLimits: { maxVertexAttributes: 30 },
});

夜明けの最新情報

「expose_wgsl_experimental_features」という新しいインスタンスの切り替えが追加されました。これにより、インスタンスでは試験運用版の WGSL 機能のみを公開し、安全でない機能は公開しません。これにより、「allow_unsafe_apis」を有効にすることなく、安全な試験運用版 WGSL 機能を使用できるようになります。切り替えます。問題 dawn:2260 をご覧ください。

Node.js の Dawn バインディングで最近改善された点は次のとおりです。

  • GPUSupportedFeatures::getSize() を追加しました。
  • GPUAdapter 未更新が実装されました。
  • デバイスの GPUInternalError が適切にレポートされるようになりました。
  • 属性が列挙可能になりました。

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

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