2020-01-24 15:21:59 +00:00
< img align = "right" width = "25%" src = "logo.png" >
2021-05-06 17:22:18 +00:00
# wgpu
2020-03-03 03:40:04 +00:00
2020-06-03 20:35:03 +00:00
[![Matrix ](https://img.shields.io/badge/Dev_Matrix-%23wgpu%3Amatrix.org-blueviolet.svg )](https://matrix.to/#/#wgpu:matrix.org) [![Matrix ](https://img.shields.io/badge/User_Matrix-%23wgpu--users%3Amatrix.org-blueviolet.svg )](https://matrix.to/#/#wgpu-users:matrix.org)
2020-05-02 09:10:29 +00:00
[![Build Status ](https://github.com/gfx-rs/wgpu/workflows/CI/badge.svg )](https://github.com/gfx-rs/wgpu/actions)
2021-05-06 17:22:18 +00:00
[![codecov.io ](https://codecov.io/gh/gfx-rs/wgpu/branch/master/graph/badge.svg?token=84qJTesmeS )](https://codecov.io/gh/gfx-rs/wgpu)
2018-09-14 13:23:15 +00:00
2021-06-03 02:40:19 +00:00
This is an implementation of [WebGPU ](https://www.w3.org/community/gpu/ ) API in Rust, targeting both native and the Web.
2021-06-05 06:01:12 +00:00
See the upstream [WebGPU specification ](https://gpuweb.github.io/gpuweb/ ) (work in progress).
2018-09-26 14:54:26 +00:00
2021-06-03 02:40:19 +00:00
The repository hosts the following parts:
2020-03-03 03:40:04 +00:00
2021-06-03 02:40:19 +00:00
- [![Crates.io ](https://img.shields.io/crates/v/wgpu.svg?label=wgpu )](https://crates.io/crates/wgpu) [![docs.rs ](https://docs.rs/wgpu/badge.svg )](https://docs.rs/wgpu/) - public Rust API for users
2020-05-15 14:41:28 +00:00
- [![Crates.io ](https://img.shields.io/crates/v/wgpu-core.svg?label=wgpu-core )](https://crates.io/crates/wgpu-core) [![docs.rs ](https://docs.rs/wgpu-core/badge.svg )](https://docs.rs/wgpu-core/) - internal Rust API for WebGPU implementations to use
2021-06-05 06:01:12 +00:00
- [![Crates.io ](https://img.shields.io/crates/v/wgpu-hal.svg?label=wgpu-hal )](https://crates.io/crates/wgpu-hal) [![docs.rs ](https://docs.rs/wgpu-hal/badge.svg )](https://docs.rs/wgpu-hal/) - internal unsafe GPU abstraction API
2021-02-01 05:35:40 +00:00
- [![Crates.io ](https://img.shields.io/crates/v/wgpu-types.svg?label=wgpu-types )](https://crates.io/crates/wgpu-types) [![docs.rs ](https://docs.rs/wgpu-types/badge.svg )](https://docs.rs/wgpu-types/) - Rust types shared between `wgpu-core` and `wgpu-rs`
2020-05-15 14:41:28 +00:00
- `player` - standalone application for replaying the API traces, uses `winit`
2019-02-06 11:32:39 +00:00
2021-06-03 01:42:15 +00:00
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` .
2020-04-17 02:35:59 +00:00
If you are looking for the native implementation or bindings to the API in other languages, you need [wgpu-native ](https://github.com/gfx-rs/wgpu-native ).
2020-03-03 03:40:04 +00:00
2019-07-29 21:27:30 +00:00
## Supported Platforms
2019-07-27 10:54:31 +00:00
2020-05-01 04:22:00 +00:00
API | Windows 7/10 | Linux & Android | macOS & iOS |
2019-07-29 21:27:30 +00:00
----- | ------------------ | ------------------ | ------------------ |
2021-06-17 00:28:45 +00:00
DX11 | | | |
DX12 | | | |
2021-02-01 05:35:40 +00:00
Vulkan | :white_check_mark: | :white_check_mark: | |
Metal | | | :white_check_mark: |
2021-06-17 00:28:45 +00:00
GLes3 | | | |
2020-04-24 18:31:02 +00:00
2021-02-01 05:35:40 +00:00
:white_check_mark: = Primary support — :ok: = Secondary support — :construction: = Unsupported, but support in progress