131: Support dynamic offsets r=kvark a=cloudhead
Closes#125
Adds support for dynamic offsets when setting a bind group.
I haven't actually tried if this works with my use-case, but it's fairly straight forward. 😅
Co-authored-by: Alexis Sellier <alexis@monadic.xyz>
127: Track async mapping properly r=grovesNL,swiftcoder a=kvark
Fixes#117, fixes#95, fixes#132
The change can be logically split into 3 parts:
1. when `ActiveSubmission` is retired, we now move the mapped buffers into the "ready to map" vector. This was the missing bit that caused mapping to not work previously.
2. mapping callbacks in Rust wrapper are refactored and they `unmap()` automatically now on users behalf
3. we wait for idle before destroying the device, which allows us to process all the pending callbacks. This fix gets rid of the dummy submission our compute example used to do.
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
128: Fix winit event loop in the triangle example r=kvark a=psincf
It's the refactored https://github.com/gfx-rs/wgpu/pull/122 PR
Co-authored-by: psincf <44228825+psincf@users.noreply.github.com>
124: Configure Swapchain with supported composite_alpha r=kvark a=silphendio
CompositeAlpha::Inherit (default) is not supported on every graphics card.
Relevant : https://github.com/gfx-rs/gfx/issues/2507
Co-authored-by: Markus Ginthör <markus.ginthoer@gmx.at>
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.