Cross-platform, safe, pure-rust graphics api.
Go to file
bors[bot] 3a41272cba
Merge #448
448: Fix framebuffers not always being cleaned up if invalid r=kvark a=LaylConway

This changes framebuffers to be cleaned up if only one view is cleaned up, instead of if all views are cleaned up. This is necessary because currently, at least for me, swapchain images will have a different view every frame. This means that if other views continue to exist between frames, the resulting framebuffers will never be cleaned up.

Fixes #447

Co-authored-by: Layl <2385329-layl@users.noreply.gitlab.com>
2020-01-15 14:24:19 +00:00
examples Remove the old render and compute passes 2020-01-13 16:52:58 -05:00
ffi Add missing render pass methods 2020-01-13 16:52:58 -05:00
wgpu-core Merge #448 2020-01-15 14:24:19 +00:00
wgpu-native Add missing render pass methods 2020-01-13 16:52:58 -05:00
wgpu-remote Switch the examples to use the new raw passes 2020-01-13 16:52:58 -05:00
.clang-format Reduce left indentation for nested structs 2019-03-08 07:15:36 -07:00
.gitignore makefile package command and travis deploy step 2019-12-24 14:19:43 +01:00
.travis.yml New deploy credentials 2020-01-04 01:24:11 -05:00
bors.toml CI scripts 2018-09-14 11:39:24 -04:00
Cargo.lock Switch to a custom fork of peek-poke 2020-01-13 16:52:59 -05:00
Cargo.toml Separate native from the core 2019-11-16 00:36:23 -05:00
CHANGELOG.md Release preparations 2019-11-03 18:52:57 -05:00
LICENSE Initial commit 2018-09-13 15:18:51 -04:00
Makefile Update Makefile 2019-12-28 10:30:32 +01:00
README.md Add wgpu-py 2020-01-03 01:21:40 -05:00
rustfmt.toml Enforce the HUB lock order 2019-07-04 14:43:54 -04:00

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

Build Status Crates.io Gitter

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:

  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
  4. ffi - 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: