Commit Graph

2762 Commits

Author SHA1 Message Date
bors[bot]
13f2ca571c
Merge #1391
1391: Simplify features r=cwfitzgerald a=kvark

**Connections**
Fixes #1390
Makes vertex writable storage optional (native-only for now)
Fixes the follow-up to #891 

**Description**
Refactors the code so that adding new features and maintaining current ones is much easier.
Refactors the way missing features are checked and reported, DRY way.

**Testing**
Not really tested

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-05-17 19:03:59 +00:00
Dzmitry Malyshau
51c7963195 Use the same MissingFeatures error everywhere 2021-05-17 14:20:17 -04:00
Dzmitry Malyshau
163b11db42 Validate the writable storage feature 2021-05-17 14:19:49 -04:00
Dzmitry Malyshau
a06d277d40 Simplify feature selection 2021-05-17 14:11:48 -04:00
Dzmitry Malyshau
f0a145d0fa Add VERTEX_WRITABLE_STORAGE feature, refactor the sample border 2021-05-17 14:09:02 -04:00
bors[bot]
2a7e07d94f [rs] Merge #909
909: Update naga to gfx-25 r=kvark a=kvark

Gets us arrayLength() in MSL

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-05-14 04:23:09 +00:00
Dzmitry Malyshau
2a0ea1d94b [rs] Update naga to gfx-25 2021-05-14 00:22:28 -04:00
bors[bot]
53eab747a3
Merge #1381
1381: Update naga to gfx-25 r=kvark a=kvark

**Connections**
Fixes #1362
Picks up https://github.com/gfx-rs/gfx/pull/3752 and https://github.com/gfx-rs/gfx/pull/3758

**Description**
Updates gfx and Naga. Hooks up the new validation capabilities.

**Testing**
Self-testing.

Note: this PR doesn't currently work because Metal's backend is now required use a sizes buffer when dynamically sized arrays are present. One of the internal tests here uses them.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-05-14 03:57:13 +00:00
Dzmitry Malyshau
e00251d3e3 Update naga to gfx-25 2021-05-13 23:56:26 -04:00
bors[bot]
6ffd4d94ab
Merge #1385
1385: fix typo in PowerPreference::LowPower description r=cwfitzgerald a=cab

**Description**
Fixes a typo in the description of `PowerPreference::LowPower`.

**Testing**
None

Co-authored-by: Conner Bryan <conner@amps.io>
2021-05-11 23:22:19 +00:00
Conner Bryan
eda7031f35
fix typo in PowerPreference::LowPower description 2021-05-11 19:10:06 -04:00
Dzmitry Malyshau
58b83f3ff6 Add extern-C on wgpu_render_pass_execute_bundles 2021-05-11 15:00:49 -04:00
Dzmitry Malyshau
f861e83df1 Fix wgpu_render_bundle_draw_indexed_indirect 2021-05-11 15:00:49 -04:00
Dzmitry Malyshau
0135e02ff6
Re-enable bors 2021-05-11 15:00:41 -04:00
bors[bot]
5b4623a112 [rs] Merge #907
907: Add feature request for wgpu-rs r=kvark a=cwfitzgerald

Thanks @JMS55 for bringing this to my attention in #906 

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2021-05-10 03:30:47 +00:00
Connor Fitzgerald
12f851c7b2 [rs] Add feature request for wgpu-rs 2021-05-09 17:57:43 -04:00
bors[bot]
b8c5b7ad97 [rs] Merge #905
905: Fill Out Issue Templates r=kvark a=cwfitzgerald

This adds issue templates, as well as links to the wgpu-core tracker and the discussion board. Hopefully this should reduce the amount of issues we have to transfer.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2021-05-09 04:10:49 +00:00
Connor Fitzgerald
6485fc0ca2
Merge pull request #1380 from fintelia/patch-1
Include shader label in log message if shader parsing fails
2021-05-08 23:28:17 -04:00
Connor Fitzgerald
9b57ce695f [rs] Fill out issue template 2021-05-08 21:29:41 -04:00
Jonathan Behrens
c64618abb8 Include shader label in log message if validation fails 2021-05-08 14:07:56 -04:00
bors[bot]
212f3bc050 [rs] Merge #900
900: Fix initializing buffer with unaligned data r=grovesNL a=Uriopass

In wgpu 0.7, this was a valid operation, the zero padding was done by hand. 
In #872 this logic was removed as an optimization since buffers are already zero initialized, however the slice end was taken from buffer.slice which has to be aligned when mapped.

This is causing issues when trying to update imgui-wgpu-rs (https://github.com/Yatekii/imgui-wgpu-rs/issues/54) to  wgpu 0.8 since they  use U16 index buffers with odd lengths.

Co-authored-by: Pâris DOUADY <paris.douady@hotmail.fr>
2021-05-07 12:04:32 +00:00
Pâris DOUADY
8b79b056fa [rs] Fix initializing buffer with unaligned data
In wgpu 0.7, this was a valid operation, the zero padding was done by hand. 
However in #872 this was removed as an optimization since buffers are zero padded, however the slice end was taken from buffer.slice which has to be aligned when mapped.
2021-05-07 13:50:49 +02:00
Luca Casonato
751aa714f4 fix: zeroable buffer_get_mapped_range size
According to spec, size can be Some(0).
2021-05-06 22:03:43 -04:00
Dzmitry Malyshau
8895e28836 Integrate codecov.io on CI 2021-05-06 13:29:14 -04:00
Dzmitry Malyshau
3bd0e8b050 Validate storage class 2021-05-06 13:25:34 -04:00
Dzmitry Malyshau
de5907d938 Explicitly list output spirv capabilities 2021-05-06 13:25:21 -04:00
bors[bot]
6d5b46b6d1 [rs] Merge #894
894: Skip mapping of zero sized buffers in create_buffer_init to avoid a panic and avoid creating an unused padded buffer r=kvark a=Imberflur



Co-authored-by: Imbris <imbrisf@gmail.com>
2021-05-04 02:34:56 +00:00
Imbris
bbc5ba3050 [rs] Skip mapping of zero sized buffers in create_buffer_init to avoid a panic and avoid creating an unused padded buffer 2021-05-03 22:22:49 -04:00
Dzmitry Malyshau
79fcfaa11a
Custom PPA for lavapipe. (#1365)
Don't run CI on non-master branches.
2021-05-03 21:46:01 -04:00
bors[bot]
e83e4ff501 [rs] Merge #880
880: Remove profiling dependency, bump version to 0.8 r=kvark a=kvark

Picks up https://github.com/gfx-rs/wgpu/pull/1355 and removes profiling markers from wgpu-rs. They don't show anything extra on top of wgpu-core markers, see https://github.com/gfx-rs/wgpu-rs/discussions/879

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-29 16:37:01 +00:00
Dzmitry Malyshau
b73887f17e [rs] Version bump to 0.8 2021-04-29 12:30:29 -04:00
Dzmitry Malyshau
3467c3a676 [rs] Remove profiling dependency 2021-04-29 12:30:29 -04:00
bors[bot]
85a1480959 [rs] Merge #850
850: Add uniform and storage buffer arrays r=kvark a=csnewman

**Connections**
https://github.com/gfx-rs/wgpu/pull/1315

**Description**
Adds uniform and storage buffer arrays

Usage:
```
wgpu::BindGroupEntry {
    binding: 0,
    resource: BindingResource::BufferArray(&[
        buffer1.as_entire_buffer_binding(),
        buffer2.as_entire_buffer_binding(),
    ]),
}
```



Co-authored-by: Chandler Newman <chandler2newman@hotmail.co.uk>
2021-04-29 16:18:52 +00:00
Chandler Newman
a267d0785d [rs] Add uniform and storage buffer arrays 2021-04-29 12:17:37 -04:00
Dzmitry Malyshau
e5ddb94be0 Version bump to 0.8 2021-04-29 11:57:22 -04:00
bors[bot]
faf3cbc2e9
Merge #1357
1357: Changelog for 0.8 r=kvark a=kvark

Fixes #1265
Closes #1312
Related to https://github.com/gfx-rs/naga/pull/796 and https://github.com/gfx-rs/gfx/pull/3739

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-29 15:43:35 +00:00
Dzmitry Malyshau
ffd47fbc0e Remove Vulkan Portability support 2021-04-29 11:42:26 -04:00
Dzmitry Malyshau
6f9c254061 Changelog for 0.8 2021-04-29 11:33:17 -04:00
bors[bot]
c539c1f4ab
Merge #1358
1358: Big refactor of the profiling usage r=kvark a=kvark

**Connections**

**Description**
Improves the profiling markers in many ways:
  1. remove unnecessary leftovers from the `tracing` era, such as querying device/adapter features. These are one-time and light-weight. It's unlikely we are going to be interested in them.
  2. add markers to where it really matters, such as `maintain` pieces, `submit` phases, render pass preparation, etc.
  3. shorten the markers to be strictly the function names, passing the class name as a tag

**Testing**
Tested on vange-rs

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-29 06:08:14 +00:00
Dzmitry Malyshau
6ff618aafb Big refactor of the profiling usage 2021-04-29 02:06:58 -04:00
bors[bot]
acd21eeeb1
Merge #1315
1315: Add buffer arrays r=kvark a=csnewman

**Connections**
https://github.com/gfx-rs/wgpu-rs/pull/850

**Description**
Adds buffer array bindings

**Testing**
TODO
<!--
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: Chandler Newman <chandler2newman@hotmail.co.uk>
2021-04-29 04:40:54 +00:00
Chandler Newman
904ec7a5ee Add uniform and storage buffer arrays 2021-04-29 00:38:04 -04:00
bors[bot]
c727b1a7f5
Merge #1355
1355: Add shader compile markers r=kvark a=kvark

**Connections**
Picks up https://github.com/gfx-rs/gfx/pull/3736 and prior PRs

**Description**
Allows clearly seeing the times spent in shader translation code.

**Testing**
Tested on vange-rs

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-27 16:24:37 +00:00
Dzmitry Malyshau
087bd07f55 Add shader compile markers 2021-04-27 12:23:28 -04:00
bors[bot]
e1a56042c0 [rs] Merge #878
878: Update naga to gfx-23 r=kvark a=kvark

Picks up https://github.com/gfx-rs/wgpu/pull/1353 and https://github.com/gfx-rs/wgpu/pull/1354

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-26 16:17:09 +00:00
Dzmitry Malyshau
07a876c8d5 [rs] Update naga to gfx-23 2021-04-26 12:16:01 -04:00
bors[bot]
13015c8621
Merge #1354
1354: Update profiling to 1.0 r=kvark a=kvark

**Connections**
https://github.com/gfx-rs/gfx/pull/3734

**Description**
Some crates like to release 1.0

**Testing**
Should work

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-26 16:00:46 +00:00
Dzmitry Malyshau
6c7f2b917f Update profiling to 1.0 2021-04-26 11:59:15 -04:00
bors[bot]
ba1b2c5f19
Merge #1353
1353: Update naga to gfx-23 r=kvark a=kvark

**Connections**
Picks up https://github.com/gfx-rs/gfx/pull/3733

**Description**
Just a bunch of Naga fixes

**Testing**
To be tested in wgpu-rs

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-26 15:21:41 +00:00
Dzmitry Malyshau
03c4e0969e Update naga to gfx-23 2021-04-26 11:10:22 -04:00