mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
7e6d6a33edc09e7581bf6483af322f02eafec2d7
Potentially needs more testing - Metal's binding model is quite different from Vulkan and WGPU, but as far as I understand from the documentation, arrays of textures occupy a contiguous range of binding slots, so unwrapping and binding one-by-one should be fine. Someone should actually go and test this on a Mac, maybe.
wgpu
This is an implementation of WebGPU API in Rust, targeting both native and the Web. 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
- internal unsafe GPU abstraction API
- Rust types shared between
wgpu-coreandwgpu-rsplayer- 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.
Supported Platforms
| API | Windows 7/10 | Linux & Android | macOS & iOS |
|---|---|---|---|
| DX11 | |||
| DX12 | |||
| Vulkan | ✅ | ✅ | |
| Metal | ✅ | ||
| GLes3 |
✅ = Primary support — 🆗 = Secondary support — 🚧 = Unsupported, but support in progress
Description
Languages
Rust
79.9%
WGSL
16.2%
HLSL
2%
GLSL
1.7%
JavaScript
0.2%