2020-04-06 08:55:39 -04:00
2020-03-30 23:31:24 -04:00
2020-04-05 23:06:02 -04:00
2018-09-14 11:39:24 -04:00
2020-04-06 08:55:39 -04:00
2020-04-06 08:55:39 -04:00
2018-09-13 15:18:51 -04:00
2020-03-03 00:10:04 -03:30
2019-12-28 10:30:32 +01:00
2020-03-27 13:43:26 +00:00
2020-04-06 08:55:39 -04:00

This is an active GitHub mirror of the WebGPU implementation in Rust, which now lives in "gfx/wgpu" of Mozilla-central. Issues and pull requests are accepted, but some bidirectional synchronization may be involved.

WebGPU

Matrix Build Status Crates.io Crates.io

This is an experimental WebGPU implementation, exposing both Rust and C interfaces as a native static library. It's written in Rust and is based on gfx-hal with help of gfx-extras. See the upstream WebGPU specification (work in progress).

The implementation consists of the following parts:

  1. wgpu-core - internal Rust API for WebGPU implementations to use
  2. wgpu-native - the native implementation of WebGPU as a C API library
  3. wgpu-remote - remoting layer to work with WebGPU across the process boundary, as a C API library used by Gecko
  4. wgpu-types - Rust types shared between wgpu-core, wgpu-native, wgpu-remote, and wgpu-rs
  5. ffi - the C headers generated by cbindgen for the native headers

Bindings

Supported Platforms

API Windows Linux macOS & iOS
DX11
DX12 ✔️
Vulkan ✔️ ✔️
Metal ✔️
OpenGL 🚧 🚧 🚧

✔️ = Primary support — = Secondary support — 🚧 = Unsupported, but support in progress

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.

Description
Safe and portable GPU abstraction in Rust, implementing WebGPU API.
Readme 268 MiB
Languages
Rust 94.6%
JavaScript 5.4%