Commit Graph

1822 Commits

Author SHA1 Message Date
Connor Fitzgerald
be5adfa584 Fix segfault caused by improper drop order 2021-05-18 01:47:24 -04:00
bors[bot]
1cd4ad7cfe Merge #1393
1393: Fix dynamic stencil reference for Replace ops r=cwfitzgerald a=kvark

**Connections**
Fixes an issue reported on Matrix, where we'd not set the stencil reference.

**Description**
Our conditions didn't check the Replace ops.

**Testing**
Untested, YOLO

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2021-05-18 00:30:51 +00:00
Dzmitry Malyshau
e24e8f643c Fix dynamic stencil reference for Replace ops 2021-05-17 18:42:42 -04:00
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]
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
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
Jonathan Behrens
c64618abb8 Include shader label in log message if validation fails 2021-05-08 14:07:56 -04: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
Dzmitry Malyshau
79fcfaa11a Custom PPA for lavapipe. (#1365)
Don't run CI on non-master branches.
2021-05-03 21:46:01 -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]
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
bors[bot]
adfa1245d8 Merge #1351
1351: Hard error on SPIRV parsing failure when VALIDATION is requested r=cwfitzgerald a=kvark

**Connections**
Follow-up from https://github.com/gfx-rs/wgpu/issues/1350#issuecomment-825186159

**Description**
If the user provided SPIR-V, and they requested VALIDATION, and we fail to parse the file - there is no point to proceed.
VALIDATION flag should be a gaurantee of safe operation, so we can't just throw the same SPIR-V at SPIRV-Cross and pretend that it's ok.

**Testing**
Tested on noclip shaders

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2021-04-22 23:21:39 +00:00
Dzmitry Malyshau
525efda7b2 Hard error on SPIRV parsing failure when VALIDATION is requested 2021-04-22 17:18:16 -04:00
bors[bot]
fe07d272b1 Merge #1348
1348: Change error type for the backend shader r=kvark a=kvark

**Connections**
Fixes #1347

**Description**
Issues a better error for this case

**Testing**
Should work

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-21 21:07:49 +00:00
Dzmitry Malyshau
bc4c5c8f03 Change error type for the backend shader 2021-04-21 17:06:58 -04:00
bors[bot]
43798a502f Merge #1346
1346: Make implicit ids actually errors to start with r=kvark a=kvark

**Connections**
Follow-up to #1341

**Description**
Turns out, leaving the indices `Vacant` is also not an option, since the `hub.rs` code considers this an internal error (unexpected), and panics.

**Testing**
Tested on Austin's examples in Gecko

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2021-04-20 21:35:12 +00:00
Dzmitry Malyshau
8505a39f6a Make implicit ids actually errors to start with 2021-04-20 17:32:40 -04:00
bors[bot]
8704a6e3b5 Merge #1342
1342: Update gfx to the new image view API r=kvark a=kvark

**Connections**
Grabs https://github.com/gfx-rs/gfx/pull/3725 and https://github.com/gfx-rs/gfx/pull/3726
Addresses https://github.com/gfx-rs/wgpu-rs/discussions/868#discussioncomment-633648

**Description**
Updates gfx, also improves the error messages for pipeline creation a bit.

**Testing**
Not really, this is low-risk.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-20 15:11:07 +00:00
Dzmitry Malyshau
cc2e547d48 Update gfx to the new image view API 2021-04-20 10:16:30 -04:00
bors[bot]
9c47ae6183 Merge #1332
1332: Validate min/max blending factors r=kvark a=kvark

**Connections**
Based on #1325 
Matches https://github.com/gpuweb/gpuweb/pull/1635

**Description**
This PR refactors the color state errors, giving them more detailed context, and having a dedicated enum for them.
It also adds the check for the blend factors to be (1, 1) for the min/max operations.

**Testing**
Untested

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-20 13:37:39 +00:00
Dzmitry Malyshau
cac643507b Validate min/max blending factors 2021-04-20 09:37:07 -04:00
bors[bot]
8239307bcb Merge #1341
1341: Mark unused implicit BGL ids as vacant r=kvark a=kvark

**Connections**
Fixes https://github.com/gfx-rs/wgpu/issues/1340

**Description**
This is not an ideal solution. We aren't marking the IDs as errors. But it's an improvement, and it resolves the crash in FF, supposedly.

**Testing**
Tested on wgpu-rs examples with implicit layouts

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-20 03:42:28 +00:00
Dzmitry Malyshau
de86f2a72f Mark unused implicit BGL ids as vacant 2021-04-19 23:35:33 -04:00
bors[bot]
523ef2dfec Merge #1339
1339: Update naga to gfx-22, add interpolation sampling validation r=kvark a=kvark

**Connections**
Includes https://github.com/gfx-rs/gfx/pull/3729, https://github.com/gfx-rs/gfx/pull/3719, https://github.com/gfx-rs/naga/pull/689, https://github.com/gfx-rs/naga/pull/700, and other fixes

**Description**
Update gfx and naga to latest (gfx-22 tag).
The hope is for this to be the last tag release before 0.8

**Testing**
Tested on wgpu-rs examples

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-04-19 17:40:24 +00:00
Dzmitry Malyshau
27f51ca252 Update naga to gfx-22, add interpolation sampling validation 2021-04-19 13:33:36 -04:00