Skip to content

Getting Involved

Dzmitry Malyshau edited this page May 14, 2018 · 6 revisions

Hello stranger! If you found gfx-rs interesting, especially the new Hardware Abstraction Layer stuff and friends, here is a place to get you started on the track to become a part of our community, contributing for the better future of Rust graphics and beyond.

First steps

  1. Make sure to have the late-ish Rust stable installed on the platform of your choice.
  2. Check out gfx-rs and type make in the repository root in order to ensure that everything is building. Skip this step if you are on Windows without Subsystem for Linux.
  3. Run the hal/quad example (cd example/hal/quad && cargo run --features <backend>) where the <backend> is vulkan, dx12, metal, or gl.
  4. Navigate through the project code to get familiar with the style and structure.

Big tasks

Now that we explained how to draw an owl, let's dive into the current development targets, where extra help would be most useful:

  • Polish and improve existing HAL backends: Vulkan, D3D12, Metal, GL - all miss a ton of features, don't nearly validate as much as they could, and need more testing.
  • Warden test framework:
    • add support for missing features
    • write more tests
  • Vulkan Portability prototype: get more Vulkan CTS coverage passing:
    • hook up to Ash, Vulkano, C applications of your choice
    • build and run CTS, pick a section of your choice with failures/crashes and fix it
  • Higher level stuff