Quire

WebGPU

From Quire, the open reference·Web standard and API·4 min read
WebGPU
WebGPU
StatusCandidate recommendation (CR)
Year started16 February 2017
First published18 May 2021
Latest versionW3C Candidate Recommendation Draft
15 September 2026
OrganizationW3C
CommitteeGPU for the Web WG
GPU for the Web CG
EditorsKai Ninomiya
Brandon Jones
Jim Blandy
Myles C. Maxfield (former)
Dzmitry Malyshau (former)
Justin Fan (former) [1]
Related standardsCSS Color Module Level 4
HTML DOM
ECMAScript
DomainGPU computing
ECMAScript
API
Websitewww.w3.org/TR/webgpu/

WebGPU API is a JavaScript API, standardized by the W3C, for cross-platform efficient graphics processing unit (GPU) access, with native implementations also usable from Rust, C++, and C.[1][2] Using a system's underlying Vulkan, Metal, or Direct3D 12 technologies, WebGPU allows for graphics processing, games, and more, as well as AI and machine learning applications.[2] WebGPU is intended to supersede the older WebGL as the main graphics standard for the Web.[3]

In JavaScript, WebGPU can be provided by a web browser or a runtime such as Deno,[4] while Node.js can use it through an add-on built from Google's Dawn implementation.[5] Rust and C++ can use their respective implementations of the WebGPU specification. Other languages like Python, Java, and Go can use WebGPU by extending the C language specification, while Go can also use a native pure Go implementation (see Implementations section).

Google Chrome and Microsoft Edge first released WebGPU support in May 2023 with version 113.[3][6] Firefox first released WebGPU in July 2025 with Firefox 141 on Windows.[7][8] Safari debuted WebGPU support in September 2025 with Safari 26.[9] By November 2025, WebGPU was supported in all major browsers.[2] As of September 2026, the W3C standard is a Candidate Recommendation Draft.[1][10]

Technology#edit

WebGPU enables 3D graphics within an HTML canvas. It also has robust support for general-purpose GPU computations,[11] which libraries such as ONNX Runtime and Transformers.js use for machine-learning inference in the browser.[2] Engines with WebGPU support include Three.js, Babylon.js, PlayCanvas, and Unity.[2]

WebGPU uses its own shading language called WebGPU Shading Language (WGSL), which is specified separately by the W3C.[12] The syntax is similar to Rust.[13] Chrome 134 added subgroup operations for machine-learning workloads, and later versions added further optional WGSL language extensions.[14] Tint is a Google-made compiler for WGSL.[15] Naga is a similar project developed for the needs of wgpu-rs.[16]

Implementations#edit

Google Chrome, Firefox, and Safari all support WebGPU and WGSL.[7][2] Chromium-based browsers use Google's C++ library Dawn.[7] Firefox, Deno, and Servo use the Rust wgpu library.[4][7] Safari 26 supports WebGPU on macOS, iOS, iPadOS, and visionOS.[7][9]

Chrome version 113 enabled initial WebGPU support on Windows devices with Direct3D 12, ChromeOS devices with Vulkan, and macOS with Metal.[3] This support for Android was enabled in version 121.[7] Linux support followed in version 144 for Intel GPUs and was extended to NVIDIA GPUs in version 147.[7][14] Version 146 added an opt-in compatibility mode that runs a restricted subset of WebGPU on OpenGL ES 3.1, starting with Android.[17]

Firefox 145 added support on macOS Tahoe for Apple silicon Macs, and Firefox 147 extended it to all supported macOS versions on Apple silicon.[2][18] As of August 2026, Firefox support on Linux and Android was limited to pre-release builds.[7]

For the Go language, a native pure Go implementation of WebGPU called `gogpu/wgpu` is developed as part of the GoGPU ecosystem. It provides a zero-CGO, WebGPU-compliant interface supporting Vulkan, Metal, DirectX 12, OpenGL ES, and CPU software rasterization.[19][20]

History#edit

On June 8, 2016, Google showed "Explicit web graphics API" presentation to the WebGL working group (during the bi-annual face to face meeting).[21] The presentation explored the basic ideas and principles of building a new API to eventually replace WebGL, also known as "WebGL Next".

On January 24, 2017, Khronos hosted an IP-free meeting dedicated to discussion of "WebGL Next" ideas, coinciding with a WebGL working group meeting in Vancouver.[22] Google team presented the NXT prototype implementing a new API that could run in Chromium with OpenGL, or standalone with OpenGL and Metal. NXT borrowed concepts from all of Vulkan, Direct3D 12, and Metal native APIs. Apple and Mozilla representatives also showed their prototypes built on Safari and Servo correspondingly, both of which closely replicated the Metal API.

On February 7, 2017, Apple's WebKit team proposed the creation of the W3C community group to design the API. At the same time they announced a technical proof of concept and proposal under the name "WebGPU", based on concepts in Apple's Metal.[23][24][25] The WebGPU name was later adopted by the community group as a working name for the future standard rather than just Apple's initial proposal.[26] The initial proposal has been renamed to "WebMetal" to avoid further confusion.[27]

The W3C "GPU for the Web" Community Group was launched on February 16, 2017. At this time, all of Apple, Google, and Mozilla had experiments in the area, but only Apple's proposal was officially submitted to the "gpuweb-proposals" repository.[28][29][30] Shortly after, on March 21, 2017, Mozilla submitted a proposal for WebGL Next within Khronos repository, based on the Vulkan design.[31][32]

On June 1, 2018, citing "resolution on most-high level issues" in the cross-browser standardization effort, Google's Chrome team announced intent to implement the future WebGPU standard.[26]

On February 13, 2020, Google unveiled Tint as an alternative to WHLSL textual language proposal to WebGPU API, and the language eventually became the standardized WebGPU Shading Language (WGSL), and Tint became the name of compiler within Dawn, the WebGPU implementation of Chromium.[citation needed]

The GPU for the Web Working Group published the First Public Working Draft of WebGPU on May 18, 2021, and the first Candidate Recommendation Snapshot on December 19, 2024.[10] Chrome shipped WebGPU in May 2023, followed by Firefox in July 2025 and Safari in September 2025.[6][8][9]

References#edit

  1. ^ a b c "WebGPU: W3C Candidate Recommendation Draft". W3C. September 15, 2026. Retrieved October 19, 2026.
  2. ^ a b c d e f g "WebGPU is now supported in major browsers". web.dev. Google. November 25, 2025. Retrieved October 19, 2026.
  3. ^ a b c "Chrome ships WebGPU". Chrome Developers. Retrieved 2023-04-08.
  4. ^ a b wgpu, Rust Graphics Mages, 2024-01-03, retrieved 2024-01-03
  5. ^ "Dawn bindings for NodeJS". dawn.googlesource.com. Retrieved October 19, 2026.
  6. ^ a b "Chrome 113 Released With Faster AV1 Video Encoding, WebGPU By Default". Phoronix. May 2, 2023. Retrieved October 19, 2026.
  7. ^ a b c d e f g h "WebGPU Implementation Status". GitHub. Retrieved October 19, 2026.
  8. ^ a b "'Firefox 141' official release, WebGPU now available on Windows". GIGAZINE. July 23, 2025. Retrieved October 19, 2026.
  9. ^ a b c "Safari 26.0 Release Notes". Apple. September 15, 2025. Retrieved October 19, 2026.
  10. ^ a b "WebGPU – History". W3C. Retrieved October 19, 2026.
  11. ^ "WebGPU API". developer.mozilla.org. Retrieved 17 March 2024.
  12. ^ "WebGPU Shading Language: W3C Candidate Recommendation Draft". W3C. September 21, 2026. Retrieved October 19, 2026.
  13. ^ "WebGPU Shading Language". gpuweb.github.io. Retrieved 2025-07-17.
  14. ^ a b "What's New in WebGPU". Chrome for Developers. Retrieved October 19, 2026.
  15. ^ "tint - Git at Google". dawn.googlesource.com. Retrieved 2025-07-17.
  16. ^ gfx-rs/wgpu/naga, Rust Graphics Mages, 2025-08-06, retrieved 2025-08-08
  17. ^ "What's New in WebGPU (Chrome 146)". Chrome for Developers. February 25, 2026. Retrieved October 19, 2026.
  18. ^ "Firefox 147.0 Release Notes". Mozilla. January 13, 2026. Retrieved October 19, 2026.
  19. ^ "GoGPU: A Pure Go Graphics Library for GPU Programming". DEV Community. Retrieved 2026-08-03.
  20. ^ "gogpu/wgpu: Pure Go WebGPU Implementation". GitHub. Retrieved 2026-08-03.
  21. ^ Wallez, Corentin. "Explicit web graphics API". Retrieved 2019-06-25.
  22. ^ Wallez, Corentin; Ninomiya, Kai. "WebGL Next investigations". Retrieved 2019-06-25.
  23. ^ "Next-generation 3D Graphics on the Web". WebKit. 2017-02-07. Retrieved 2018-08-13.
  24. ^ "Apple seeks to position Metal as part of new 3D graphics standard for web". AppleInsider. Retrieved 2018-08-13.
  25. ^ Claburn, Thomas (2017-02-08). "Web-standards-allergic Apple unveils WebGPU, a web graphics standard". The Register. Retrieved 2017-08-14.
  26. ^ a b Wallez, Corentin (2018-05-31). "Intent to Implement: WebGPU". blink-dev (Mailing list). Retrieved 2018-08-13.
  27. ^ "WebGPU Prototype and Demos". WebKit. 2017-04-05. Retrieved 2019-01-10.
  28. ^ Jackson, Dean (2017-02-16). "Welcome and Getting Started". public-gpu (Mailing list). Retrieved 2018-09-11.
  29. ^ Jackson, Dean. "Add Apple's WebGPU proposal". GitHub. Retrieved 2019-03-08.
  30. ^ Malyshau, Dzmitry. "Prototyping a new 3D API for the Web". Retrieved 2016-12-16.
  31. ^ Malyshau, Dzmitry (2017-03-21). "Defining the Web platform". Retrieved 2018-09-11.
  32. ^ Malyshau, Dzmitry. "Mozilla's contribution: Obsidian API". GitHub. Retrieved 2019-03-08.

This article is mirrored from “WebGPU” on English Wikipedia, revision 1380991132, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.

Synced with Wikipedia revision 1380991132 · just now