Skip to content

Implementation Status

Kai Ninomiya edited this page Apr 12, 2024 · 71 revisions

This page shows the current implementation status of the WebGPU API spec in browsers. It also lists some resources (samples, demos) for enthusiastic web developers. Also note the WebGPU Shading Language spec that's hosted separately.

The public-gpu@w3.org mailing list is a good place to ask questions or provide feedback on the API.

You can also join the chat on Matrix in the "Web Graphics" Matrix Community: #webgraphics:matrix.org. The general WebGPU channel is #WebGPU:matrix.org.

Implementation Status

Chromium (Chrome, Edge, etc.)

WebGPU has begun shipping to Mac/Windows/ChromeOS in Chrome 113 and Edge 113! As always, developers should develop against Chrome Canary or Edge Canary. Increased reach, other platforms, and bug fixes are ongoing.1

Android Chrome OS Linux Mac Windows
121 113 👷 Behind a flag2 113 113

1 For details, look at the Dawn and Tint bug trackers and in the Chromium bug tracker's WebGPU components. Search these before filing new bugs.
2 The chrome://flags/#enable-unsafe-webgpu flag must be enabled (not enable-webgpu-developer-features). Linux experimental support also requires launching the browser with --enable-features=Vulkan.

Firefox and Servo

These browser implementations are based on wgpu project in Rust.

Platform-independent features:

  • WGSL shaders
    • validation
    • overridable constants
    • behavioral analysis
    • uniformity analysis (present currently, but not up to spec)
  • buffer mapping
  • core features:
    • render bundles
    • compute
  • errors
    • error model
    • error scopes
    • graceful device lost handling
  • presentation
Platform-dependent features Vulkan D3D12 Metal
present surface sharing
bounds checks ✔️ ✔️ (not needed) ✔️ (missing vertex pulling)

Firefox

WebGPU is enabled by default in Nightly Firefox builds.

All the issues and feature requests are tracked by the Graphics: WebGPU component in Bugzilla. For more details, see the Mozilla wiki.

Servo

Work in progress, enabled by "dom.webgpu.enabled" pref.

Safari (In Progress)

Work is in progress in Safari Technology Preview.

It is testable via the "Develop menu" starting in Safari Technology Preview 185. See release notes.

Materials

Samples

Demos

Articles

Frameworks

Clone this wiki locally