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>
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>
518: Wholesome spec update r=grovesNL a=kvark
Addresses https://github.com/gfx-rs/wgpu-rs/issues/196
Biggest change is that buffer binding is done one by one. There is a number of renamings of the fields, also the binding types are expanded.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
514: Move some types into shared wgpu-types crate r=kvark a=grovesNL
As we discussed a while ago, we need to be able to share some types between wgpu-core/wgpu-native/wgpu-remote/wgpu-rs.
The problem is that we want to avoid a dependency on wgpu-core and wgpu-native when building [wgpu-rs for the wasm32-unknown-unknown target](https://github.com/gfx-rs/wgpu-rs/issues/101). We can avoid this by moving all shared types into a separate crate which is exposed on all targets.
Let me know if we should use some other approach or organize the types somehow. This isn't complete yet, but it might be easier to integrate this over several PRs instead of diverging my branch too far.
Co-authored-by: Joshua Groves <josh@joshgroves.com>
512: Add PresentMode::Mailbox r=kvark a=aloucks
@kvark
Would you be open to renaming the presents modes to match the vulkan/gfx-hal nomenclature? Considering these aren't part of the webgpu spec, I think it would make more sense to keep things consistent.
I can update this PR if you're good with it.
```rust
pub enum PresentMode {
/// The presentation engine does **not** wait for a vertical blanking period and
/// the request is presented immediately. This is a low-latency presentation mode,
/// but visible tearing may be observed. Will fallback to `Fifo` if unavailable on the
/// selected platform and backend. Not optimal for mobile.
Immediate = 0,
/// The presentation engine waits for the next vertical blanking period to update
/// the current image, but frames may be submitted without delay. This is a low-latency
/// presentation mode and visible tearing will **not** be observed. Will fallback to `Fifo`
/// if unavailable on the selected platform and backend. Not optimal for mobile.
Mailbox = 1,
/// The presentation engine waits for the next vertical blanking period to update
/// the current image. The framerate will be capped at the display refresh rate,
/// corresponding to the `VSync`. Tearing cannot be observed. Optimal for mobile.
Fifo = 2,
}
```
Co-authored-by: Aaron Loucks <aloucks@cofront.net>
507: Update logo and move bindings section r=kvark a=grovesNL
- Adjust the logo slightly
- Move the bindings section up slightly to hopefully reduce confusion for users coming to gfx-rs/wgpu looking for the Rust bindings (gfx-rs/wgpu-rs)
- Also added some experimental Julia bindings
- Open to other ideas how we can improve the repository naming confusion, though long term I think we may want to adjust the naming somehow (like we talked about before the sync was setup)
[Rendered](8b19724364/README.md)
Co-authored-by: Joshua Groves <josh@joshgroves.com>
506: Bug 1614702 - WebGPU textures, texture views, and samplers r=gecko a=kvark
This is a commit cherry-picked from #504
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
505: Expose `Global::enumerate_adapters`. r=kvark a=daxpedda
Expose `enumerate_adapters` to use it in `wgpu-rs`.
Issue was that directly accessing `wgpu-core` wasn't possible because an instantiation of `Global` was needed.
Co-authored-by: daxpedda <daxpedda@gmail.com>
501: Update WebGPU to mozilla-central from hg rev 0f1a8e4c6a76b3b0b16902c7fdfe2356c60ca351 r=kvark a=staktrace
This merge commit should get tagged as `mozilla-0f1a8e4c6a76b3b0b16902c7fdfe2356c60ca351`.
Co-authored-by: Kartikaya Gupta <kgupta@mozilla.com>
497: Catch swapchain output being dropped too early r=kvark a=kvark
Prevents a common case where the swapchain frame is dropped before the submission. This is not comprehensive yet, but it should be helpful.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
480: Implement `enumerate_adapters`. r=kvark a=daxpedda
This is take two of #478, it's a much smaller change with less abstraction.
- implement `internal_enumerate_adapters`, which refactors `instance.{BACKEND}.enumerate_adapters()` out of `pick_adapter`
- implement `enumerate_adapters`, which just returns a vector of all GPUs in the form of `AdapterId`
Co-authored-by: daxpedda <daxpedda@gmail.com>