bors[bot] ae64e3aa0c Merge #375
375: Use callback for `request_adapter` r=kvark a=grovesNL

For now this is mostly a signature change which allows us to start using a callback for `request_adapter`. Once we have an event loop, the callback could be scheduled to make this asynchronous. At that point the examples and server would have to be updated, because they currently rely on the callback running immediately (inline).

The reason for this change is that `request_adapter` is supposed to return a `Promise` in JS, so we can represent it with callbacks at the C API, and `Future` in Rust (though we'll probably keep using callbacks initially).

I also changed `request_adapter` to provide an adapter with `AdapterId::ERROR` when no adapters are available, so we can add basic error handling to wgpu-rs (https://github.com/gfx-rs/wgpu-rs/issues/117).

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-11-08 03:41:12 +00:00
2019-11-07 09:55:27 -06:00
2019-11-07 09:55:27 -06:00
2019-06-13 11:08:53 -04:00
2019-10-25 12:06:12 -04:00
2018-09-14 11:39:24 -04:00
2019-11-03 18:52:57 -05:00
2019-05-10 20:40:42 -04:00
2019-11-03 18:52:57 -05:00
2018-09-13 15:18:51 -04:00
2019-10-26 21:08:16 +00:00
2019-08-12 23:41:09 +02:00
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-native - the native implementation of WebGPU as a C API library
  2. wgpu-remote - remoting layer to work with WebGPU across the process boundary
  3. 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:

Description
No description provided
Readme 137 MiB
Languages
Rust 79.9%
WGSL 16.2%
HLSL 2%
GLSL 1.7%
JavaScript 0.2%