mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
eedc706ee7fbce9af4ca7decce8ec6892f052366
442: Fix cmd buffer cleanup not always using lowest active index r=kvark a=LaylConway This fixes the index picked for cleanup not always being the lowest index. Additionally this fixes command buffers not being cleaned up if there are no active submissions, because in that case 0 would be picked, which resulted in nothing being cleaned up. Now instead if there are no active submissions, usize MAX will be picked. Fixes #441 Co-authored-by: Layl <2385329-layl@users.noreply.gitlab.com>
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-core- internal Rust API for WebGPU implementations to usewgpu-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://github.com/almarklein/wgpu-py - experimental Python wrapper
- https://nest.pijul.com/porky11/wgpu - experimental Scopes wrapper
Description
Languages
Rust
79.9%
WGSL
16.2%
HLSL
2%
GLSL
1.7%
JavaScript
0.2%