Gfx-rs call for participation


gfx-rs is a project/organization developing several crates related to platform-abstract graphics in Rust. It’s not always easy to track where things are going and how to help, especially for an outsider. This call is an attempt to clarify this, hopefully allowing more interested people to join the fun.


Whether you are writing a performance-sensible application on top of gfx-hal, or some of the higher level crates, like rendy, or just trying out Amethyst, it’s good to have more testing and coverage of the functionality available in different backends. Talk to us about general things in gitter lobby or specific technical issues in the low-level room.

For example, just last week we discovered and fixed the layer indexing in clear_attachments for dx12. There are still bugs like this lurking around, and just reporting them is the important first step. Keep an eye on the API rough spots, so that we can polish it better for version 0.2 to be published at some point.


wgpu-rs is separate from other uses, since there is quite a bit of complexity in the library itself, which users are likely to hit, as opposed to the backing gfx-rs. We’ve recently released wgpu-0.2 and it has proven to be a breath of fresh air to target. Check out the examples, see what you can write (or port over) to wgpu-rs, then don’t hesitate to talk to us about the experience in gitter.

We need help implementing the validation, error reporting, documentation, and more. Would be interesting to profile your application to see what kind of advantage we get comparing to gfx-rs pre-ll. The library is rough but already usable, judging from the experience of porting vange-rs on it.


Last but not the least, there goes the Vulkan Portability implementation. We have a list of applications to test, and you are welcome to extend it. For example, one can try running Forsaken Remastered on our Metal backend on macOS and see what is missing, and how the performance compares to MoltenVK. We’ve had some success in challenging it with Dota2.

gfx-portability also provides an efficient way to find bugs in the backends, thanks to the official Vulkan Conformance Test Suite. There is some setup required, after which you can look at some of the corpus tests and report the failures for a backend of your choice. We welcome everyone in the dedicated gitter room.