mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-25 00:03:29 +00:00
Cross-platform, safe, pure-rust graphics api.
55aab54b4e
465: [0.4] Refactor the swap chain frame tracking r=kvark a=kvark On the surface, it gets us from "key not present" to "Used swap chain frame has already presented" in the case of an application presenting before submitting a command buffer. But the worst thing is that we used to lock up the driver on that presentation, so now the problem is much less mysterious. cc @snuk182 Fixes #458 Works around #227 Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com> Co-authored-by: Korijn van Golen <k.vangolen@clinicalgraphics.com> |
||
---|---|---|
examples | ||
ffi | ||
wgpu-native | ||
wgpu-remote | ||
.clang-format | ||
.gitignore | ||
.travis.yml | ||
bors.toml | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
rustfmt.toml |
This is an active GitHub mirror of the WebGPU native implementation in Rust, which now lives in Mozilla-central. Issues and pull requests are accepted, but we merge them in m-c manually and then sync to GitHub instead of landing directly here.
WebGPU
This is an experimental WebGPU implementation as a native static library. It's written in Rust and is based on gfx-hal and Rendy libraries. The corresponding WebIDL specification can be found at gpuweb project.
The implementation consists of the following parts:
wgpu-native
- the native implementation of WebGPU as a C API librarywgpu-remote
- remoting layer to work with WebGPU across the process boundaryffi
- the C headers generated by cbindgen for both of the libraries
Supported Platforms
API | Windows | Linux | macOS & iOS |
---|---|---|---|
DX11 | ✔️ | ||
DX12 | ✔️ | ||
Vulkan | ✔️ | ✔️ | |
Metal | ✔️ | ||
OpenGL |
Usage
This repository contains C-language examples that link to the native library targets and perform basic rendering and computation. Please refer to our Getting Started page at the wiki for more information.
Bindings:
- https://github.com/gfx-rs/wgpu-rs - idiomatic Rust wrapper with a few more examples to get a feel of the API
- https://nest.pijul.com/porky11/wgpu - experimental Scopes wrapper