bors[bot] 729ecb1404 Merge #582
582: Track pipeline layout lifetime r=grovesNL a=kvark

Fixes #580
This one is interesting: it's not instantly destroyed when dropped, like bind group layouts. And it's not tracked for GPU usage like the resources. It's somewhat in-between. We have the following classes of tracking now:
  1. no tracking, destroyed on drop. Applies to: bind group layouts, adapters
  2. only CPU-side tracking. They go to "suspected" list on drop of self or anything that can point to them. Applies to: pipeline layouts
  3. full GPU tracking. They go to "suspected" list on drop, then get associated with active submission before destruction. Applies to: buffers, textures, views, bind groups, pipelines

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-04-14 13:08:29 +00:00
2020-03-30 23:31:24 -04:00
2020-04-14 00:08:04 -04:00
2020-04-14 13:08:29 +00:00
2020-04-07 22:16:46 -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
No description provided
Readme 137 MiB
Languages
Rust 79.9%
WGSL 16.2%
HLSL 2%
GLSL 1.7%
JavaScript 0.2%