744: Demonstrate obj loading in the skybox example r=kvark a=kvark
I wanted to see which example is best suited for `typed-arena` demo... and here I am, implementing a completely different unrelated feature. But I think it's useful, still ;)
Model loading is something everybody needs, and for us depending on `obj` in dev-dependencies cost nothing, especially since I'm basically maintaining it.
<img width="395" alt="screenshot" src="https://user-images.githubusercontent.com/107301/106993149-186c7780-6748-11eb-94ca-7988ef9ee52d.png">
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
759: Correct FragmentState targets comment r=grovesNL a=Systemcluster
Previously the comment was copied verbatim from the `VertexState` `buffers` field.
Co-authored-by: Chris <me@systemcluster.me>
755: Add Instance::poll_all r=kvark a=lachlansneff
`Instance::poll_all` polls all devices. This will be useful for integrating into the winit event loop from a third-party crate.
Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
710: Implement read_buffer r=kvark a=fintelia
I'm not sure about the exact interface that makes sense, but this PR sketches out how read_buffer (and eventually also read_texture) could be implemented.
Resolves#694
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
Co-authored-by: Jonathan Behrens <fintelia@gmail.com>
Validate example shaders in tests
Support WGSL on the Web via Naga
Port the shadow WGSL partially
Convert hello-compute and boids to WGSL
Conver the shadow's fragment shader to WGSL
Shader entry point refactor
726: Bump wgpu-core and update texture_view_drop call r=kvark a=mkeeter
This PR updates to the latest `wgpu-core` commit ([wgpu #1163](https://github.com/gfx-rs/wgpu/pull/1163)), and is the counterpart to [wgpu-native #66](https://github.com/gfx-rs/wgpu-native/pull/66).
I'm using `wait = false` in the `texture_view_drop` call to match `buffer_drop` and `texture_drop` elsewhere `backend/direct.rs`, though I don't quite understand the implications 😅
Co-authored-by: Matt Keeter <matt.j.keeter@gmail.com>
716: Update Wgpu-Core r=trivial a=cwfitzgerald
This rollup fixes a pretty bad segfault that always occurs.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
713: Expose texture format feature query (and update to latest wgpu) r=kvark a=Wumpf
Exposes texture format feature query from https://github.com/gfx-rs/wgpu/pull/1112
Updating wgpu-core led to breaking change of moving get_swap_chain_preferred_format from device to adapter.
Co-authored-by: Andreas Reich <r_andreas2@web.de>
698: Format PassErrorScope pipelines r=kvark a=scoopr
Pairing for gfx-rs/wgpu#1132, formats the pipeline ids
Co-authored-by: Mikko Lehtonen <scoopr@iki.fi>
709: Move get_swap_chain_preferred_format from device to adapter r=kvark a=niklaskorz
See https://github.com/gfx-rs/wgpu/pull/1142. This PR applies the necessary changes for the move of `get_swap_chain_preferred_format` from device to adapter.
Co-authored-by: Niklas Korz <niklas@niklaskorz.de>
707: Fix compilation on aarch64-apple-darwin r=kvark a=andykilroy
wgpu-rs couldn't compile on the Apple M1 (arm64) macs due to a compilation
problem in winit. winit 0.24.0 has the fix so upgrade the dependency.
Link to the fix's pull request in winit:
https://github.com/rust-windowing/winit/pull/1752
Co-authored-by: Andrew Kilroy <7545475+andykilroy@users.noreply.github.com>
wgpu-rs couldn't compile on the Apple M1 (arm64) macs due to a compilation
problem in winit. winit 0.24.0 has the fix so upgrade the dependency.
Link to the fix's pull request in winit:
https://github.com/rust-windowing/winit/pull/1752
685: Replace futures crate with pollster. r=grovesNL a=parasyte
This PR removes all of the `futures` dependencies. `std::future` does not contain a lot of useful helpers available in `futures`. The obvious ones are `join_all`, `FutureExt::map`, and `block_on`.
- `join_all` is replaced with a `Vec<T>` and an `async` block.
- `FuturesExt::map` in the web backend is replaced by rolling the `map` function into the `MakeSendFuture` type.
- `block_on` is provided by `pollster`.
The original code using `join_all` ignored the result type yielded by the Future from `map_async`. This code does the same, but makes dropping the result a little more obvious.
These should not be troublesome. Figured I would call them out anyway.
The last big change is replacing `futures-executor` in the examples with `async-executor`. A new concrete `Spawner` type is used in the example framework instead of an implementation of `futures_task::LocalSpawn`.
Fixes#628
Co-authored-by: Jay Oster <jay@kodewerx.org>
This PR removes all of the `futures` dependencies. `std::future` does not contain a lot of useful helpers available in futures. The obvious ones are `join_all`, `FutureExt::map`, and `block_on`.
* `join_all` is replaced with a `Vec<T>` and async blocks.
* `FuturesExt::map` in the web backend is replaced by rolling the `map` function into the `MakeSendFuture` type.
* `block_on` is provided by `pollster`.
The original code using `join_all` ignored the result type yielded by the Future from `map_async`. This code does the same, but makes dropping the result a little more obvious.
These should not be troublesome. Figured I would call them out anyway.
The last big change is replacing `futures-executor` in the examples with `async-executor`. A new concrete `Spawner` type is used in the example framework instead of an implementation of `futures_task::LocalSpawn`.