Commit Graph

9013 Commits

Author SHA1 Message Date
bors[bot]
872a6c4c2b Merge #860
860: Update naga and fix type widths r=mechanical a=kvark

**Connections**
Related to https://github.com/gfx-rs/naga/pull/98

**Description**
Naga's "width" has type `Bytes`, so we should treat it as such.

**Testing**
How did it use to work? Oh right, it didn't.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-08-01 03:48:19 +00:00
Dzmitry Malyshau
3291b72368 Update naga and fix type widths 2020-07-31 23:46:19 -04:00
bors[bot]
6183e205a0 [rs] Merge #493
493: Use BCn textures if possible in skybox example r=kvark a=cwfitzgerald

This converts the skybox to using compressed textures if available. I have designed the code to be extensible to other compressed formats as they are added.

Additionally I added srgb to the texture types, as we were using a srgb framebuffer without properly converting into  linear on the texture reads.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-31 02:52:35 +00:00
Connor Fitzgerald
aeffeaf869 [rs] Use BCn textures if possible in skybox example 2020-07-30 20:55:40 -04:00
bors[bot]
b352093988 Merge #855
855: Fix multi-layer copies r=kvark a=cwfitzgerald

**Description**

When copying multiple layers at the same time, we ignored 

**Testing**

Tested on the skybox example with BC1 textures doing all layer copies.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-30 21:07:40 +00:00
Connor Fitzgerald
00a5be7f7b Fix multi-layer copies 2020-07-30 16:58:29 -04:00
bors[bot]
c320599e20 [rs] Merge #492
492: Replace NonZeroU32 with u32 in TextureViewDescriptor r=kvark a=kunalmohan

Includes https://github.com/gfx-rs/wgpu/pull/854

(rustfmt seems to have introduced a number of other changes. I can revert them if they are undesired)

r?@kvark

Co-authored-by: Kunal Mohan <kunalmohan99@gmail.com>
2020-07-30 17:41:55 +00:00
Kunal Mohan
eba4cd977b [rs] Replace NonZeroU32 with u32 in TextureViewDescriptor 2020-07-30 23:01:49 +05:30
bors[bot]
9e4839eb04 Merge #854
854: Replace NonZeroU32 with u32 in TextureViewDescriptor r=kvark a=kunalmohan

**Connections**
_Link to the issues addressed by this PR, or dependent PRs in other repositories_

**Description**
_Describe what problem this is solving, and how it's solved._

**Testing**
_Explain how this change is tested._
Not yet tested
<!--
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.
-->

r?@kvark


Co-authored-by: Kunal Mohan <kunalmohan99@gmail.com>
2020-07-30 16:10:29 +00:00
Kunal Mohan
c8360152cd Replace NonZeroU32 with u32 in TextureViewDescriptor 2020-07-30 21:35:07 +05:30
bors[bot]
0e27959404 Merge #853
853: Implement TEXTURE_COMPRESSION_BC extension r=kvark a=cwfitzgerald

**Connections**

Closes #852.

**Description**

Adds support for BCn textures as specified in the upstream issue. This also shores up the validation and copy logic to work well with the block oriented nature of compressed textures. ETC2 and ASTC should fall out of this easily.

**Testing**

No wgpu-rs changes were needed, however I tested it with the following changes in wgpu-rs: 96c05ef4bf.


Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-30 02:57:12 +00:00
bors[bot]
45df7b03ca [rs] Merge #482
482: Add label parameter to `create_buffer_with_data` r=kvark a=OptimisticPeach

Improves QOL by allowing you to attach a label to a buffer when created with predetermined data:
```
let uniform_buf = device.create_buffer_with_data(
    bytemuck::cast_slice(my_data),
    wgpu::BufferUsage::UNIFORM,
    Some(Cow::Borrowed("My Uniforms")),
);
```

Co-authored-by: OptimisticPeach <patrikbuhring@yahoo.com>
2020-07-30 02:08:24 +00:00
OptimisticPeach
208e3ec8a0 [rs] Combine create_buffer and create_buffer_with_dataCombines both by creating a new buffer descriptor which can deal with both of copying and allocating. 2020-07-29 21:35:21 -04:00
Connor Fitzgerald
e5c647745e Implement TEXTURE_COMPRESSION_BC extension 2020-07-29 18:43:50 -04:00
bors[bot]
a41b91b284 [rs] Merge #490
490: Panic using error Display rather than unwrapping r=kvark a=cormac-obrien

Fixes #489.

Co-authored-by: Mac O'Brien <cormac@c-obrien.org>
2020-07-29 20:01:03 +00:00
Mac O'Brien
71b2763159 [rs] Panic using error Display rather than unwrapping
Fixes #489
2020-07-29 14:01:50 -05:00
bors[bot]
43aa8b11b2 Merge #840
840: Add builder for TextureDescriptor r=kvark a=cwfitzgerald

**Connections**

https://github.com/gfx-rs/wgpu-rs/issues/478 https://github.com/gfx-rs/wgpu-rs/issues/470

**Description**

Adds a mut based builder pattern to TextureDescriptor as a test.

**Testing**

Will test in wgpu-rs...


Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-29 18:28:46 +00:00
Connor Fitzgerald
d5f23f9323 Add builder for TextureDescriptor 2020-07-29 14:28:03 -04:00
bors[bot]
f6ba5b8298 Merge #845
845: Finish error model refactor r=kvark a=GabrielMajeri

**Connections**
I think this is the last part of #638. I've reviewed all the remaining `unwrap`s and `assert`s in the code, and these should be the last ones left which ought to return errors (the remaining ones seem to uphold internal invariants).

**Description**
Implements error handling for various conditions, which are then returned to the caller. Including, but not limited to:
- running out of memory when creating a command pool
- running out of memory when creating a frame buffer for a render pass
- invalid dimensions when creating a texture

**Testing**
Tested with core and player.

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-07-29 18:10:33 +00:00
bors[bot]
75292f3f56 Merge #844
844: Add mip level count and array layer count validation to texture_create_view r=kvark a=kunalmohan

**Connections**
_Link to the issues addressed by this PR, or dependent PRs in other repositories_

**Description**
_Describe what problem this is solving, and how it's solved._
Catches the error when `mip_level_count = 0` and `base_mip_level > texture.mip_level_count` (same with `array_layer_count`)

**Testing**
_Explain how this change is tested._
Haven't been tested yet
<!--
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: Kunal Mohan <kunalmohan99@gmail.com>
2020-07-29 17:35:40 +00:00
Gabriel Majeri
a5f72d26d3 Handle DeviceLost in triage_submissions 2020-07-29 20:17:48 +03:00
Gabriel Majeri
62f1f9c438 Error types for conv module 2020-07-29 20:17:46 +03:00
bors[bot]
378834336e [rs] Merge #484
484: Enable features in CI to prevent compiler errors r=kvark a=cwfitzgerald

Simple change, this also builds features in CI.

I added trace and replay features to wasm, even though wasm doesn't support tracing as is, because people may enable them to get serde support for wgpu-types stuff.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-29 16:59:20 +00:00
Connor Fitzgerald
3eda1c5990 [rs] Enable features in CI to prevent compiler errors 2020-07-29 12:58:08 -04:00
Kunal Mohan
0ef76a7643 Add mip level count and array layer count validation to texture_create_view 2020-07-29 21:47:28 +05:30
Gabriel Majeri
2f06d3e4f9 Return out of memory condition from render pass 2020-07-29 09:58:46 +03:00
Gabriel Majeri
e860dd995f Handle command pool creation error 2020-07-29 09:56:42 +03:00
bors[bot]
db14d0f7ea [rs] Merge #488
488: Update wgpu with view descriptor changes r=kvark a=kvark

Includes https://github.com/gfx-rs/wgpu/pull/846

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-07-29 03:37:05 +00:00
Dzmitry Malyshau
8a32c7dbb8 [rs] Update wgpu with view descriptor changes 2020-07-28 23:35:59 -04:00
bors[bot]
9929b8719f Merge #846
846: Make level and layer count for texture view optional r=cwfitzgerald a=kvark

**Connections**
implements https://github.com/gpuweb/gpuweb/pull/945

**Description**
`NonZeroU32` is more idiomatic here

**Testing**
untested, but should work

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-07-29 03:04:18 +00:00
Dzmitry Malyshau
d2c1e725db Make level and layer count for texture view optional 2020-07-28 22:55:39 -04:00
Pelle Johnsen
1eb637038d [glsl-new] Add initial handling of stmts and exprs (#116)
* [glsl-new] Add initial handling of stmts and exprs

* [glsl-new] use &'static str for NotImplemented msg

* [glsl-new] Don't lazy create function context
2020-07-28 22:48:05 -04:00
bors[bot]
0dcd1e1204 Merge #847
847: Gecko-requested refactor r=cwfitzgerald a=kvark



Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-07-28 21:01:27 +00:00
Dzmitry Malyshau
bf862b7907 Clarity renames according to the Gecko review 2020-07-28 16:58:28 -04:00
bors[bot]
de36997986 [rs] Merge #487
487: Update to latest `wgpu-core` r=kvark a=GabrielMajeri

Pulls in the latest changes from `wgpu-core`, follow up for https://github.com/gfx-rs/wgpu/pull/841

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-07-28 19:58:28 +00:00
Gabriel Majeri
04c1ff27ea [rs] Update to latest wgpu-core 2020-07-28 21:32:39 +03:00
bors[bot]
5bd24d5085 Merge #843
843: Reformat the alignment errors, add a stride check r=GabrielMajeri a=kvark

**Connections**
Addresses [one of the things](https://community-tc.services.mozilla.com/tasks/JQlmdXSiSK2ufM7mX8F1Tg/runs/0/logs/https%3A%2F%2Fcommunity-tc.services.mozilla.com%2Fapi%2Fqueue%2Fv1%2Ftask%2FJQlmdXSiSK2ufM7mX8F1Tg%2Fruns%2F0%2Fartifacts%2Fpublic%2Flogs%2Flive.log#L1999) Servo hit on the CTS

**Description**
This change affects the unaligned* error messages: instead of printing the exact value, they now refer to the constant in the code. On one hand, this involves an extra redirection for anyone who hits this. But on the other hand, it makes them aware of the actual constants they should be respecting. I think it's better in the long term, especially if we change any of these.

**Testing**
Not tested, but should work!

r? @GabrielMajeri 

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-07-28 17:56:05 +00:00
Dzmitry Malyshau
b16640cdc4 Refactor pipeline creation to check the resource counts earlier 2020-07-28 13:55:07 -04:00
Dzmitry Malyshau
6e10518f12 Reformat the alignment errors, add a stride check 2020-07-28 11:48:49 -04:00
bors[bot]
c77f4de5a6 Merge #841
841: Safe error handling for queue module r=kvark a=GabrielMajeri

**Connections**
Part of #638 

**Description**
Adds error types for the `queue.rs` module. The out-of-memory conditions are reported upwards, other internal `gfx-hal` errors are unwrapped.

**Testing**
Tested with core and player.


Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-07-27 16:34:32 +00:00
Gabriel Majeri
8316e9e678 Safe error handling for queue module 2020-07-26 17:49:53 +03:00
bors[bot]
26eb6c0882 [rs] Merge #476
476: Convert to tracing for logging and add fmt logger r=kvark a=cwfitzgerald

wgpu-rs half of https://github.com/gfx-rs/wgpu/pull/835

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-26 04:46:37 +00:00
Connor Fitzgerald
927d80e0af [rs] Convert to tracing for logging and add fmt logger 2020-07-26 00:44:39 -04:00
bors[bot]
11b3a95671 Merge #835
835: Convert all logging to tracing and add fmt logger r=kvark a=cwfitzgerald

**Connections**

#289 ish.

**Description**

This converts us fully to tracing, allowing traces to show up in logs.

https://github.com/gfx-rs/wgpu-rs/pull/476 should be considered at the same time as this PR.

**Testing**

Ran examples in wgpu-rs.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-26 04:00:54 +00:00
Connor Fitzgerald
cb485f3798 Convert all logging to tracing and add fmt logger 2020-07-25 19:33:21 -04:00
bors[bot]
67cab07e46 [rs] Merge #469
469: Update to latest `wgpu-core` device error handling r=kvark a=GabrielMajeri

Corresponding PR for https://github.com/gfx-rs/wgpu/pull/832

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-07-25 14:39:38 +00:00
Gabriel Majeri
3eec74cd9c [rs] Unwrap errors from device functions 2020-07-25 07:46:32 +03:00
bors[bot]
da863bd5f9 [rs] Merge #481
481: Remove screenshots from README r=grovesNL a=kvark

Screenshots cover a ton of space, and now we have a dedicated hosted gallery for them.
I'm open to the idea of having *some* smaller screenshots here. It's just difficult to draw the line. Maybe README should show a few screenshots of examples only, and the gallery would not have them?

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-07-25 03:52:41 +00:00
Dzmitry Malyshau
0ebc8adc58 [rs] Remove screenshots from README 2020-07-24 23:37:10 -04:00
Josh Groves
115c29c022 [msl] Cast single-component scalars (#115)
* [msl] Cast single-component scalars

* [msl] Allow `BinaryOperator::And`
2020-07-24 22:48:14 -04:00