Commit Graph

9013 Commits

Author SHA1 Message Date
Dzmitry Malyshau
4f517f4af3 [wgsl] include the expected string into the error 2021-01-28 01:22:10 -05:00
bors[bot]
63b0d36074 Merge #1176
1176: Rewrite RenderPipelineDescriptor according to aspects r=grovesNL,cwfitzgerald a=kvark

**Connections**
Fixes #1166

**Description**
Totally re-imagines the structure tree for describing the rendering pipeline, based on the aspects instead of logical steps.

**Testing**
Just local testing. I don't think there is any concern that these changes might not work, they just need the clients to adapt.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-01-28 06:21:57 +00:00
Dzmitry Malyshau
cef0a30aa2 Add 0.7 changelog 2021-01-28 01:21:20 -05:00
Dzmitry Malyshau
3e4cb21b90 [wgsl] support simple block statements 2021-01-27 21:31:04 +01:00
Dzmitry Malyshau
0346b43982 Update the render pipeline API 2021-01-27 15:09:13 -05:00
Dzmitry Malyshau
61fd868a22 [spv] implement full image sampling 2021-01-27 11:24:27 -05:00
Dzmitry Malyshau
ab2cf8b842 [wgsl] support vector type casts 2021-01-26 23:33:08 -05:00
bors[bot]
ba3595b8ab [rs] Merge #730
730: Fix the web backend in code and CI r=grovesNL a=kvark

Fixes #729

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2021-01-27 01:58:43 +00:00
Dzmitry Malyshau
8f6804caa1 [rs] Fix the web backend in code and CI 2021-01-26 20:58:13 -05:00
Dzmitry Malyshau
9c74468f81 [wgsl] enable access via rgba 2021-01-26 17:04:11 -05:00
Dzmitry Malyshau
292304b66f [wgsl] fix postfix expression parsing 2021-01-26 16:44:19 -05:00
Dzmitry Malyshau
986550aff8 [wgsl] fix and update storage load 2021-01-26 15:57:48 -05:00
Dzmitry Malyshau
ce15aa62fc [spv] indexing values 2021-01-26 15:36:30 -05:00
bors[bot]
60cd0f7e56 Merge #1173
1173: Handle zero-sized bindings as an error r=cwfitzgerald a=kvark

**Connections**
Fixes #1165

**Description**
Adds buffer IDs to the binding errors, also adds a variant for zero sized bindings.

**Testing**
Tested on a hand-written example.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-01-26 05:19:26 +00:00
Joshua Groves
d7225b4eb6 [glsl-out] Improve formatting of whitespace 2021-01-25 23:57:54 -05:00
Joshua Groves
58f38ba61d [msl-out] Improve formatting of whitespace 2021-01-25 23:57:54 -05:00
Dzmitry Malyshau
c233a70afc Handle zero-sized bindings as an error 2021-01-25 22:33:44 -05:00
bors[bot]
c2c8d2203e Merge #1170
1170: Don't build shader interface without the validation flag r=kvark a=kvark

**Connections**
Fixes #1169

**Description**
We used to try building the interface of a Naga module before (!) the validation has happened, and even without a check for the validation flag.

**Testing**
Untested.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2021-01-25 19:16:59 +00:00
Dzmitry Malyshau
6a684e5cdf Don't build shader interface without the validation flag 2021-01-25 14:15:27 -05:00
Dzmitry Malyshau
a5184fba49 Check for the block decorator in the validator 2021-01-25 09:06:32 -05:00
Dzmitry Malyshau
c803240587 [wgsl] resolve types across functions 2021-01-25 00:59:30 -05:00
Jonathan Behrens
a97ec9df91 Add SHADER_FLOAT64 feature (#1154)
* Add SHADER_FLOAT64 feature

* Also enable SHADER_FLOAT64 hal feature when creating the device

* Update wgpu-core/src/instance.rs

Co-authored-by: monocodus[bot] <49363530+monocodus[bot]@users.noreply.github.com>

* Add warning about 64-bit float performance

* Add (currently unsupported) VERTEX_ATTRIBUTE_64BIT feature

Co-authored-by: monocodus[bot] <49363530+monocodus[bot]@users.noreply.github.com>
2021-01-24 21:59:09 -05:00
Dzmitry Malyshau
2bdcacc2b0 Update MSRV to 1.43 2021-01-24 21:14:59 -05:00
Dzmitry Malyshau
98c18d71db Switch to column major 2021-01-24 21:14:59 -05:00
bors[bot]
ab6af6ed4f Merge #1167
1167: Remove temporary allocation for gpu-descriptor r=kvark a=kvark

This is no longer needed as https://github.com/zakarumych/gpu-descriptor/pull/10 is merged

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-01-24 17:25:23 +00:00
Dzmitry Malyshau
6538ac5d26 Remove temporary allocation for gpu-descriptor 2021-01-24 12:24:37 -05:00
bors[bot]
0e68554c52 Merge #1164
1164: Update naga to gfx-7 r=kvark a=kvark

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

**Description**
Carries a bunch of important Naga improvements.

**Testing**
Just local playtests

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-01-24 03:18:39 +00:00
Dzmitry Malyshau
952ccbcf85 Update naga to gfx-7 2021-01-23 22:17:09 -05:00
bors[bot]
2f3d6bce6f [rs] Merge #717
717: Fixup WebGL Building Docs r=kvark a=cwfitzgerald

Improved the docs for building wgpu for targeting webgl. This would have prevented https://github.com/gfx-rs/gfx/issues/3594.

I also think (but haven't changed yet) that all the examples should use `wgpu::BackendBit::all()` as that is really what people should be defaulting to.

(Rendered: https://github.com/cwfitzgerald/wgpu-rs/blob/webgl-docs/README.md#run-examples-on-the-web-wasm32-unknown-unknown)

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2021-01-23 23:53:30 +00:00
Connor Fitzgerald
316bd4f959 [rs] Fixup webgl docs 2021-01-23 18:20:41 -05:00
bors[bot]
7ea65e8f9f [rs] Merge #726
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>
2021-01-23 21:40:06 +00:00
Matt Keeter
3ca0b0cf9c [rs] Bump wgpu-core and update texture_view_drop call 2021-01-23 12:12:42 -05:00
bors[bot]
b23ece55e7 Merge #1163
1163: Bump gfx to latest master r=kvark a=mkeeter

**Connections**
- This bumps `gfx` to [#3610](https://github.com/gfx-rs/gfx/pull/3610), and also includes [#3608](https://github.com/gfx-rs/gfx/pull/3608) and [#3609](https://github.com/gfx-rs/gfx/pull/3608)
- [Here](https://github.com/gfx-rs/wgpu-native/pull/66) is a draft PR to `wgpu-native`
- `wgpu-rs` requires a one-line fix to the `texture_view_drop` call (which now takes a boolean); I can PR this next.

**Description**
This fixes [pathological shader complexity in SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross/pull/1594), as well as a few other `gfx` PRs.

**Testing**
I updated `wgpu-native` to use this branch, then updated my [toy raytracer](https://github.com/mkeeter/rayray) to use the resulting `dylibs` and confirmed that it no longer takes forever to compile the pathological shader.

In addition, I updated `wgpu-rs` and went through the examples; nothing seems out of place.

Co-authored-by: Matt Keeter <matt.j.keeter@gmail.com>
2021-01-23 16:57:10 +00:00
Dzmitry Malyshau
0ea8a0a3c2 [wgsl] support unsigned literals 2021-01-23 10:03:25 -05:00
Dzmitry Malyshau
5b35b04546 Remove rosetta tests 2021-01-23 10:02:07 -05:00
Timo de Kort
6ffd68d6a2 [spv-out] Add comparison operators 2021-01-22 22:28:21 -05:00
Matt Keeter
38b184428d Bump gfx to latest master 2021-01-22 08:58:51 -05:00
Dzmitry Malyshau
c758399354 Add a collatz snapshot test 2021-01-22 08:58:02 -05:00
Dzmitry Malyshau
04b0f2443e Validate local and argument types 2021-01-22 08:58:02 -05:00
Dzmitry Malyshau
b441a25956 Rename GlobalUse variants 2021-01-22 08:58:02 -05:00
Dzmitry Malyshau
bc66f784c1 Refactor builtin usage validation 2021-01-22 08:58:02 -05:00
Dzmitry Malyshau
da51f29d42 [spv] emit proper member layout decorations (#360) 2021-01-22 08:54:28 -05:00
bors[bot]
fe0644b040 [rs] Merge #720
720: Remove typed-arena dependency r=cwfitzgerald a=kvark

Also bumps the wgpu dependency to include https://github.com/gfx-rs/wgpu/pull/1160

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-01-20 06:03:01 +00:00
bors[bot]
7f52bea027 Merge #1161
1161: Fix replaying issues with dropped texture views r=urgent a=kvark

**Connections**
Fixes replaying of https://github.com/gfx-rs/wgpu/issues/1158#issuecomment-763272796

**Description**
The main fix is calling `maintain` in the player before getting the new view from the swapchain. That allows the device to properly remove the ID that is just about to be used.

**Testing**
Tested on that API trace.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-01-20 03:06:20 +00:00
Dzmitry Malyshau
05bb482e49 Fix replaying issues with dropped texture views 2021-01-19 22:03:55 -05:00
Dzmitry Malyshau
ea16651793 [rs] Remove typed-arena dependency 2021-01-19 22:01:54 -05:00
bors[bot]
7c9e239a24 Merge #1160
1160: Update gpu-alloc and remove the associated locking r=kvark a=kvark

**Connections**
Takes advantage of https://github.com/zakarumych/gpu-alloc/pull/34

**Description**
This PR removes the locking from our gpu-alloc wrapper.

**Testing**
Untested

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-01-20 02:27:31 +00:00
Dzmitry Malyshau
5fccabf3b8 Update gpu-alloc and remove the associated locking 2021-01-19 20:59:50 -05:00
bors[bot]
e219f3b657 Merge #1157
1157: Handle read-only storage + sampled combination r=cwfitzgerald a=kvark

**Connections**
Fixes #724

**Description**
We now keep the internal use flags for sampled textures inside the view.

**Testing**
Untested

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-01-19 15:22:20 +00:00
Dzmitry Malyshau
618bd9e53a Handle read-only storage + sampled combination 2021-01-19 09:54:41 -05:00