390: Example feature matrix r=cwfitzgerald a=kvark
This PR introduces a feature matrix to show what feature can be found in which example. I expect we'll be linking to it a lot :)
It also renames the `describe` example so that we can distinguish easily between ones that are framework-based and standalone ones (starting with "hello").
Concerns:
- the star may be a bit too bleak... I haven't found a better one that would be short to type (choosing a long one means editing is uncomfortable).
- sometimes hard to figure out what deserves a feature in the table and what not... still a win to have at least something here
- we need to do something with `capture`, see #387, but I haven't figured out what exactly
also r? @rukai
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
380: Documentation Pass r=kvark a=cwfitzgerald
The wgpu-rs component of https://github.com/gfx-rs/wgpu/pull/728.
Closes#378.
Notable changes not mentioned in wgpu PR:
- Reexported the wgt-local types whenever we have a type definition. These are reexported as `ThingBase`. This is unfortunately the only way to actually get their documentation to show up, aliases have no way of "inheriting" the documentation.
- Added wgpu logo to docs!
- Hid vertex_format_size macro.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
728: Documentation Pass r=kvark a=cwfitzgerald
## Connections
https://github.com/gfx-rs/wgpu-rs/issues/378.
## Description
The number one thing that people want to see in wgpu is better documentation, so this is a first step towards that goal. It unifies the documentation and fills it out so most things have documentation that is at least marginally helpful.
Notable changes to existing documentation:
- Removes "a" and "the" at the beginning of short descriptions.
- Always use the phrasing `Describes a...` for descriptors that create objects directly.
- Always use a period at the end of short descriptions.
## Testing
No code was changed, but constant monitoring of cargo doc output in wgpu-rs was used to keep everything completely consistent.
## TODO
- [x] wgpu-rs PR (https://github.com/gfx-rs/wgpu-rs/pull/380)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* Add glsl handling to convert sample
- Also fis extension check for spv and wgsl (missing .)
* Use std::path::Path for ext handling
* Also fix ext for .comp
Missing from last commit
377: Update with minBufferBindingSize r=cwfitzgerald a=kvark
Depends on https://github.com/gfx-rs/wgpu/pull/726
Also reverts #373 : buffer bindings now have to include at least one element of an unsized struct portion, so they can't be zero-sized.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
726: Basic support for minBufferBindingSize r=cwfitzgerald a=kvark
**Connections**
Has basic (partial) implementation of https://github.com/gpuweb/gpuweb/pull/678
wgpu-rs update - https://github.com/gfx-rs/wgpu-rs/pull/377
**Description**
This change allows users to optionally specify the expected minimum binding size for buffers. We are then validating this against both the pipelines and bind groups.
If it's not provided, we'll need to validate at draw time - this PR doesn't do this (focus on API changes first).
It also moves out the `read_spirv`, since wgpu-types wasn't the right home for it ever.
**Testing**
Tested on wgpu-rs examples
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
375: Add water example. r=kvark,cwfitzgerald a=OptimisticPeach
Solves #329, water example requested by @kvark.
I tuned it to my personal preference of visuals, however it might be different for you.
Note: I used https://github.com/ashima/webgl-noise for 3D open simplex noise.
I've commented to explain what most of the things in the rust side of the example mean. However, I'm not 100% sure I did the best job at giving a brief overview, and wouldn't mind someone making sure my terminology/definitions are correct.
Thanks!
Patrik
Co-authored-by: OptimisticPeach <patrikbuhring@yahoo.com>
719: Implement debug marker support r=kvark a=krupitskas
**Connections**
Closes https://github.com/gfx-rs/wgpu/issues/697
**Description**
Looks like because I've once pushed forward reset branch to my master, previous pull request https://github.com/gfx-rs/wgpu/pull/713
show that there no commits and it automatically was closed :/
**Testing**
Not tested yet
Co-authored-by: Nikita Krupitskas <krupitskas@icloud.com>
727: Update gfx-memory to the latest commit r=kvark a=rukai
**Description**
In order to test potential fixes for https://github.com/gfx-rs/wgpu-rs/issues/363 we need wgpu master to be able to easily test changes to gfx-memory.
Assuming we dont have any large regressions I think it could be nice to release wgpu 0.6 before merging this. I dont mind either way though.
**Testing**
I ran some wgpu-rs examples.
Co-authored-by: Rukai <rubickent@gmail.com>
723: Always use DepthStencilReadOnlyOptimal for sampled depth r=kvark a=kvark
**Connections**
This is a follow-up to #712 that reverts the API changes but also fixes our internal logic to work better.
**Description**
It solves the problem of image layouts by always using a RODS layout on depth images, when sampled.
**Testing**
Tested on https://github.com/gfx-rs/wgpu-rs/pull/375
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
722: Refactor tracking of device last completed submission r=kvark a=kvark
**Connections**
Fixes https://github.com/gfx-rs/wgpu-rs/issues/358
**Description**
We used to track the next submission index in `device.life_guard.submission_index` atomic. This PR changes that to point to the last *done* submission, and also introduces a non-atomic field to keep track of the current/next submission.
This allows us to avoid waiting on the frame semaphore on presentation if the relevant submission is done by then.
**Testing**
Not tested!
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
369: Implement SAMPLED_TEXTURE_ARRAY_NON_UNIFORM_INDEXING r=kvark a=cwfitzgerald
This implements https://github.com/gfx-rs/wgpu/pull/715 in wgpu-rs. I haven't changed the example, as I want to actually think up a better example to use and didn't want that to block this. It will change in the future however.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
717: Implement Capability/Extension Split r=kvark a=cwfitzgerald
## Connections
Follow up to a discussion we had on #wgpu:matrix.org.
## Description
Splits capabilities and extensions so that extensions are things you ask for and possibly change behavior and capabilities are passively enabled when their extension (if any) are enabled.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
720: Fix validation errors + panics on empty buffers r=kvark a=rukai
**Description**
My previous PR left a vulkan validation error when creating an empty buffer.
This PR fixes that and also fixes a panic preventing the compute-example from running with no elements.
**Testing**
Unit test added in wgpu-rs PR. https://github.com/gfx-rs/wgpu-rs/pull/373
<!--
Non-trivial functional changes would need to be tested through:
- [wgpu-rs](https://github.com/gfx-rs/wgpu-rs) - test the examples.
- [wgpu-native](https://github.com/gfx-rs/wgpu-native/) - check the generated C header for sanity.
Ideally, a PR needs to link to the draft PRs in these projects with relevant modifications.
See https://github.com/gfx-rs/wgpu/pull/666 for an example.
If you can add a unit/integration test here in `wgpu`, that would be best.
-->
Co-authored-by: Rukai <rubickent@gmail.com>
370: API update for RODS2 r=cwfitzgerald a=kvark
Reflects upstream changes in https://github.com/gfx-rs/wgpu/pull/716
I'm not too happy about the API just yet, has another idea that I'm going to discuss with the group on Monday, hopefully. But we need to get going and not block other wgpu-rs changes, so this should land in some way.
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
716: Add RODS texture binding property r=cwfitzgerald a=kvark
This is a follow-up to #712, which I screwed up right before it got in. Fortunately, we still need the code that went in, we just need a little bit more :)
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>