213: Cleanup user-interface around async buffer mapping r=grovesNL a=lachlansneff
This PR cleans up the interface for asynchronous buffer mapping a little. It turns `map_read` and `map_write` into `async` functions (instead of returning `impl Future<...>`). It also adds a standin error type and removes some confusing type aliases.
Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
219: Update Zerocopy to 0.3 r=kvark a=cwfitzgerald
In an effort to eliminate duplicate dependencies, especially on the proc-macro/syn stack, this updates zerocopy 0.2 (using syn 0.6) to zerocopy 0.3 (using syn 1). There appears to be no real api changes based on my skimming of the docs. Things compile on my windows machine, and hopefully it will pass on mac and linux.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
210: Update WGPU deps to rev 08e8d406c1 r=kvark a=aloucks
I also moved the `path` chunks in `Cargo.toml` to a single `[patch]` section so that it's one block to commment/uncomment for local development.
Co-authored-by: Aaron Loucks <aloucks@cofront.net>
527: Add `Clone` and `PartialEq` implementations for `SamplerDescriptor` r=kvark a=mitchmindtree
Helps when attempting to support multiple samplers in an immediate mode
context (e.g. easily compare sampler descriptors and check if I need to
add a command to switch bind groups).
Co-authored-by: mitchmindtree <mitchell.nordine@gmail.com>
212: Improve BufferCopyView documentation r=kvark a=rukai
groves suggested that the alignment/multiple requirements are not implemented yet.
So I changed the documentation to reflect that.
Ideally we would change the examples to demonstrate how to work around this requirement, but I think its best to wait until we know for certain that this IS a requirement, currently the WebGPU spec does not have this as a requirement.
Additionally it seems like every example except for the skybox example failed to follow this part of the WebGPU spec.
"Note: rowsPerImage must be zero for copies with a copySize.depth of 1, and must be greater than zero otherwise."
So I fixed those examples and documented the requirement on the field.
Co-authored-by: Rukai <rubickent@gmail.com>
208: Remove lifetime from SwapChainOutput r=kvark a=lachlansneff
The pr removes the lifetime from `SwapChainOutput`. It's not clear to me if the lifetime is necessary for soundness reasons, so let me know if so.
Resolves#207
Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
Helps when attempting to support multiple samplers in an immediate mode
context (e.g. easily compare sampler descriptors and check if I need to
add a command to switch bind groups).
525: Add `Clone` and `PartialEq` derives for `Texture(View)Descriptor` r=kvark a=mitchmindtree
I've come across use cases for these in nannou so thought I would add
them!
Co-authored-by: mitchmindtree <mitchell.nordine@gmail.com>
204: Return futures from request adapter/request device r=kvark a=grovesNL
Relevant to #175
Backporting some parts of #193 for async request adapter and async request device.
Co-authored-by: Joshua Groves <josh@joshgroves.com>
202: Remove `Hash` for ID types r=kvark a=grovesNL
Reverts some of the `Hash` derives added in #200 because we don't have a good way to support `Hash` for JavaScript objects (for the web backend) at the moment. JavaScript objects don't have a unique identifier that we can use for `Hash`, so any solution here would probably mean adding our own map of JS object<->unique ID.
Co-authored-by: Joshua Groves <josh@joshgroves.com>