Commit Graph

9013 Commits

Author SHA1 Message Date
Dzmitry Malyshau
98c3de7884 Group binding writes by wgt::BindingType 2020-10-13 16:06:50 -04:00
João Capucho
b76dff9d9c Added the new method to the msl Writer (#236) 2020-10-12 11:49:53 -04:00
bors[bot]
42bb7ca65f [rs] Merge #594
594: Fix mipmap example which was y-flipped r=kvark a=Uriopass

Mipmap rendering was y-flipped, hence making one out of every two mipmaps wrong. See:

![image](https://user-images.githubusercontent.com/5420739/95760589-7eba1f80-0cab-11eb-8a5f-bfe9e228b480.png)

(look at the black dots)

Co-authored-by: Paris DOUADY <paris.douady@hotmail.fr>
2020-10-12 14:56:08 +00:00
bors[bot]
c933b9766a Merge #973
973: remove PowerPreference::Default r=kvark a=frbimo


**Connections**
Issue: #971 

**Description**
remove `PowerPreference::Default` and change related value to use `PowerPreference::LowPower` .
`PowerPreference::default()` is remain.

**Testing**
`cargo test` and `cargo build` passed


Co-authored-by: frbimo <fr.bimo@gmail.com>
2020-10-12 14:52:57 +00:00
Paris DOUADY
d66ffc2902 [rs] Fix mipmap example which was y-flipped 2020-10-12 16:51:24 +02:00
frbimo
fdd561e69e remove PowerPreference::Default
Signed-off-by: frbimo <fr.bimo@gmail.com>
2020-10-12 19:17:44 +08:00
Dzmitry Malyshau
5507e16718 [rs] Really fix the environment to WGPU_BACKEND this time 2020-10-11 23:43:39 -04:00
bors[bot]
a028a6f5d1 [rs] Merge #593
593: Update wgpu with push constants API r=kvark a=kvark

Includes https://github.com/gfx-rs/wgpu/pull/966, https://github.com/gfx-rs/wgpu/pull/969, and https://github.com/gfx-rs/wgpu/pull/970

Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-10-12 03:20:17 +00:00
Dzmitry Malyshau
f6858fa109 [rs] Support WGPU_BACKEND environment in the examples 2020-10-11 23:17:38 -04:00
Dzmitry Malyshau
c92dbae57e [rs] Immediate resource destruction 2020-10-11 23:17:37 -04:00
Dzmitry Malyshau
d6843fca7b [rs] Update wgpu with push constants API 2020-10-11 23:17:37 -04:00
bors[bot]
44a41dc9a4 Merge #970
970: Fix coalescing of descriptor sets r=grovesNL a=kvark

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

**Description**
I forgot that all the descriptors in a write have to be the same type and visibility. This should be fixed now.

**Testing**
Tested on wgpu-rs examples, see https://github.com/gfx-rs/wgpu-rs/pull/593

Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>
2020-10-12 02:48:18 +00:00
Dzmitry Malyshau
56df63b122 Fix coalescing of descriptor sets 2020-10-11 22:47:41 -04:00
bors[bot]
f963193be1 Merge #966
966: Immediate resource destruction and freeing r=cwfitzgerald a=kvark

**Connections**
Fixes #964

**Description**
We are making it so a buffer or a texture can have their native resources freed while they are still referenced, so without waiting for GC.

In addition, the PR adds a few missing cases where error IDs should have been handled, like at render pass encoding.

**Testing**
Tested on wgpu-rs examples, see https://github.com/gfx-rs/wgpu-rs/pull/591

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-10-11 17:10:42 +00:00
Dzmitry Malyshau
c87a94f976 Early texture destruction 2020-10-08 23:21:11 -04:00
PENGUINLIONG
6f4508523a Pass [u8] instead of [u32] for push constants (#918)
* Pass [u8] instead of [u32] for push constants

Use 2-instruction aligner

Fixed alignment

Fixed offsets

Added alignment checks and fixed size

Use semantic constants

* Replaced all magic number with constant

* Fixed type cast
2020-10-08 23:13:18 -04:00
bors[bot]
7377552828 Merge #968
968: CI playtests for Dx12, Vulkan r=kvark a=DevOrc

**Connections**
#950

**Description**
Implements CI testing for Vulkan and DX12. Also, cargo test stdout will no longer be captured so that people can verify that the playtests actually ran. 

Note: If no adapters are found, nothing will run and the tests will pass. This might become a problem if the installation no longer works and no one notices. 

**Testing**
Passed CI Tests


Co-authored-by: Noah Charlton <ncharlton002@gmail.com>
2020-10-09 03:06:30 +00:00
Dzmitry Malyshau
c4c8e3b224 Early buffer destruction logic 2020-10-08 22:28:52 -04:00
Noah Charlton
5ff6b11daf CI playtests for Dx12, Vulkan 2020-10-08 17:17:16 -04:00
Pelle Johnsen
2b268c926c [glsl-in] Extraxt lexer next_line method (#232)
Have single place where advancing to next line
2020-10-08 13:14:05 -04:00
Dzmitry Malyshau
0a7d81351c Handle cases where buffer contents are destroyed 2020-10-08 12:57:17 -04:00
bors[bot]
9451c23bb7 [rs] Merge #589
589: Update to latest wgpu with Naga validation r=cwfitzgerald a=kvark

Depends on https://github.com/gfx-rs/wgpu/pull/962
Includes latest Naga validation stuff.
~~Warning: subject to https://github.com/gfx-rs/naga/issues/228~~

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-10-07 21:39:22 +00:00
Dzmitry Malyshau
1b4e6b6a15 [rs] Update to latest wgpu with Naga validation 2020-10-07 17:36:15 -04:00
bors[bot]
8059c03273 Merge #962
962: Refactor and optimize bind group creation r=cwfitzgerald a=kvark

**Connections**
Fixes #960

**Description**
There is a small bag of things all related in here:
  1. It detects duplicate bindings in the `BindGroupDescriptor`. Previously, we compared the count, and formed the write array. If the expected bindings were [0, 1], and the given bindings were [0, 0], it would pass, erroneously. Now it properly errors out.
  2. It defers the *actual* descriptor set creation to after we iterate the bindings. This means any error would not make use leak descriptors any more.
  3. Finally, we form a single descriptor set write instead of having a write per binding. This is much more friendly to gfx-hal, which does the work per write, and should optimize bind group creation a bit.

**Testing**
Tested on wgpu-rs examples - https://github.com/gfx-rs/wgpu-rs/pull/589

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-10-07 20:15:25 +00:00
Dzmitry Malyshau
50594a747d Another small Naga update 2020-10-07 16:14:25 -04:00
Dzmitry Malyshau
0070bf703c Coalesce bindings into a single write 2020-10-07 16:14:25 -04:00
Dzmitry Malyshau
962e4dbaf7 Defer bind group creation to after validation 2020-10-07 16:14:25 -04:00
Dzmitry Malyshau
aa35110471 Allow output variables to be read 2020-10-07 16:08:05 -04:00
Timo de Kort
4420258001 [ir] Remove Matrix Kind from the IR (#230) 2020-10-06 17:19:29 -04:00
Timo de Kort
f67dfd251a [spv-out] Add multiply instructions (#219) 2020-10-06 16:57:30 -04:00
bors[bot]
aee0bead78 Merge #963
963: Add repr(C) on mapping structs r=trivial a=kvark

**Connections**
Required for https://phabricator.services.mozilla.com/D92636

**Description**
Allows C clients to avoid redefining those structs.

**Testing**
No need

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-10-06 17:37:45 +00:00
Dzmitry Malyshau
dc2d581c8d Add repr(C) on mapping structs 2020-10-06 13:36:17 -04:00
Pelle Johnsen
773408663b [glsl-in] make consume_token a lexer method (#227)
* [glsl-in] make consume_token a lexer method

* [glsl-in] fix lex for 1.41
2020-10-06 10:31:41 -04:00
bors[bot]
b6e1170163 Merge #959
959: Only request features that are needed r=cwfitzgerald a=kvark

Core part of #958 for master

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-10-05 23:13:33 +00:00
Capucho
34e46d0a76 Added support for matrix access on the typifier 2020-10-05 16:11:41 -04:00
Dzmitry Malyshau
45ade807cc Only request features that are needed 2020-10-05 14:51:32 -04:00
bors[bot]
1bac63c654 Merge #957
957: Enable RBA feature where available r=grovesNL a=kvark

**Connections**
Related to https://github.com/gpuweb/gpuweb/issues/955

**Description**
Until we have a better plan in place, enabling RBA is the least we can do.

**Testing**
Should work!


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-10-05 18:40:45 +00:00
Dzmitry Malyshau
0a67d6a7be Enable RBA feature where available 2020-10-05 10:21:39 -04:00
Timo de Kort
99f829b3cc [spv-out] Add check for global variables if name is set 2020-10-05 09:43:59 -04:00
Timo de Kort
90c56aca2f [spv-out] Add scalar conversion support 2020-10-03 19:50:09 -04:00
Timo de Kort
98167103c2 [spv-out] Remove instruction spec tests 2020-10-03 19:49:22 -04:00
Pelle Johnsen
842079a3cd [glsl-in] Handle spacing for preproces directives 2020-10-02 00:50:18 -04:00
Timo de Kort
e0f593f35f [spv-out] Add matrix construct support 2020-10-01 15:41:42 -04:00
bors[bot]
bcb3162b2b Merge #947
947: Update naga with the new usage validation r=cwfitzgerald a=kvark

**Connections**
Includes https://github.com/gfx-rs/naga/pull/200, https://github.com/gfx-rs/naga/pull/203, https://github.com/gfx-rs/naga/pull/214, and others

**Description**
We get more comprehensive validation, which can sometimes be annoying :)

**Testing**
Tested on wgpu-rs examples.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-10-01 16:05:42 +00:00
Timo de Kort
b56c2ddbdc [spv-out] Fix write_function returning block id 2020-09-30 16:43:56 -04:00
Dzmitry Malyshau
6de675313b [spv] fix stack overflow in type writing 2020-09-28 23:29:23 -04:00
Dzmitry Malyshau
c18ac58fd8 Update naga with the new usage validation 2020-09-28 10:18:35 -04:00
Dzmitry Malyshau
8323521b83 [valid] move out the integer interpolation check to the entry point 2020-09-28 10:15:35 -04:00
Dzmitry Malyshau
d03c95a576 Add more methods recognized by the typifier 2020-09-28 10:15:35 -04:00
Dzmitry Malyshau
53627c5cd8 [valid] allow dynamic access into vectors 2020-09-28 10:15:35 -04:00