121: Implement index formats r=kvark a=grovesNL
I decided to implement index formats to try to catch up on some of the recent changes. The idea is to either source the index format from the last bound pipeline, or switch the index format based on a newly bound pipeline, through the following:
- During `set_index_buffer`, use the index format from the render pass, and cache the bound index buffer ID and offset
- During `set_pipeline`, check if the index format has changed from the previous pipeline, and rebind the index buffer using the new index format if necessary
Some things I wasn't sure about:
- Is the usage of `get_with_extended_usage` correct here?
- Are the caches located in the correct place (i.e. `RenderPassContext`)?
Co-authored-by: Joshua Groves <josh@joshgroves.com>
118: readme: revise supported platforms r=kvark a=nathany
Should this say D3D11?
Co-authored-by: Nathan Youngman <4566+nathany@users.noreply.github.com>
112: Correctness fixes from 0.2, plus a lot of goodies r=kvark a=kvark
These are changes from #110 back-ported to master.
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
96: Add the static lifetime bound to async buffer mapping callbacks r=kvark a=aloucks
These callbacks are executed outside of the mapping function and could previously reference data that had been dropped. Related #95.
Co-authored-by: Aaron Loucks <aloucks@cofront.net>
This allows async buffer mapping to function when a renderpass
is also submitted on the queue. The state transition and fencing
still needs work, however.
These callbacks are executed outside of the mapping function and could
previously reference data that had been dropped. This fixes the
soundness issues described in #95, but not the buggy mapping
behavior.
94: Update C example r=kvark a=grovesNL
- Move `winit` behind a feature in wgpu-native
- Update C example to newer wgpu-native API
- Expose `Id` as `repr(C)`
- Add clang-format configuration for C files
- Add C example to CI (we can move parts of this back into the Makefile in a follow-up PR)
Co-authored-by: Joshua Groves <josh@joshgroves.com>
93: run cargo fmt r=kvark a=swiftcoder
Since we have a little downtime, let's see how awful this is :)
Co-authored-by: Tristam MacDonald <tristam@trist.am>
87: Convert shadow sample to map_async r=kvark a=swiftcoder
Works great under Vulkan, but there's a bug that pauses the whole app after about a second under DX12. I don't think I introduced the bug, but it's hard to tell since we don't have a before state for DX12.
I'm going to send some ergonomic and validation improvements for buffer mapping in another PR, because while debugging this I ran into some rough edges.
Co-authored-by: Tristam MacDonald <tristam@trist.am>