Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal documentation: control flow between different layers #4021

Open
kpreid opened this issue Aug 9, 2023 · 1 comment
Open

Internal documentation: control flow between different layers #4021

kpreid opened this issue Aug 9, 2023 · 1 comment
Labels
area: documentation Documentation for crate items, public or private type: enhancement New feature or request

Comments

@kpreid
Copy link
Contributor

kpreid commented Aug 9, 2023

The big picture architecture diagram has a useful set of arrows. However, when I have contributed to wgpu, I've sometimes gotten lost in a maze of similarly-named functions and types in multiple libraries; particularly, #3052 involved a lot of trial and error, simply changing stuff and seeing what compile errors appeared.

I'd like to request that someone familiar with the architecture create a narrower-focused diagram, which specifically lists the types (various Contexts?) and function calls involved in a Rust-user-facing operation (wgpu::Foo::bar()) passing through wgpu-core and wgpu-hal all the way to backend-specific code, so that if, for example, someone wants to pass additional information through those layers, they can understand what all the layers that need to be changed are, and thus discover the constraints in play before they start tinkering. This document might also discuss how backend dispatch works, to make it clear what code might be not being executed on the developer's platform and thus needing additional attention.

@teoxoy teoxoy added type: enhancement New feature or request area: documentation Documentation for crate items, public or private labels Aug 9, 2023
@Wumpf
Copy link
Member

Wumpf commented Sep 5, 2023

kinda related to

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: documentation Documentation for crate items, public or private type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants