This is an implementation of WebGPU API in Rust, targeting both native and the Web. It's written in Rust and is based on gfx-hal with help of gpu-alloc and gpu-descriptor. See the upstream WebGPU specification (work in progress).
The repository hosts the following parts:
- - public Rust API for users
- - internal Rust API for WebGPU implementations to use
- - Rust types shared between
wgpu-core
andwgpu-rs
player
- standalone application for replaying the API traces, useswinit
Rust examples can be found at wgpu/examples
. wgpu
is a default member, so you can run the examples directly from the root, e.g. cargo run --example boids
.
If you are looking for the native implementation or bindings to the API in other languages, you need wgpu-native.
API | Windows 7/10 | Linux & Android | macOS & iOS |
---|---|---|---|
DX11 | 🆗 | ||
DX12 | ✅ | ||
Vulkan | ✅ | ✅ | |
Metal | ✅ | ||
GL ES3 | 🚧 |
✅ = Primary support — 🆗 = Secondary support — 🚧 = Unsupported, but support in progress