Skip to content

Contributing

Almar Klein edited this page Sep 23, 2021 · 1 revision

We welcome contributions - there's still a lot of work to do.

Tasks

Implement more functions.

We do not yet implement all functions specified in webgpu.h. Also in some functions we may not fully consume the provided arguments. (These cases are hopefully documented with a comment.)

Update to latest webgpu.h

The upstream specification in webgpu.h is still changing and from time to time we should catch up. This affects our API. Some pointers:

  • Run git submodule update --remote to pull in the latest version.
  • Get a diff of what has changed since the last update, to get an overview and you know what to expect.
  • Implement new features (e.g. new fields in structs) if possible.
  • Double-check that the structs that we overload in build.rs are still valid.
  • Try running cargo build and keep fixing things until it works.
  • Fix examples if needed.

Note that once your work is merged, other devs will need to run git submodule update to sync the submodule.

Update to latest wgpu-core

Wgpu-core and Naga develop fast, so from time to time we should catch up. This likely wont affect the API, only the implementation. Some pointers:

  • Update the hash for wgpu-core and naga in Cargo.yaml.
  • Try running cargo build and keep fixing things until it works.
  • Fix examples if needed.
  • Try to run the examples, because WGSL may need updates (AK: I usually run the examples of our downstream wgpu-py and pygfx too).