Commit Graph

2872 Commits

Author SHA1 Message Date
Dzmitry Malyshau
317237771e hal: rename bunnymark to halmark 2021-06-10 11:29:35 -04:00
Dzmitry Malyshau
782c72d32c hal/mtl: queue 2021-06-10 10:54:06 -04:00
Dzmitry Malyshau
3109b1b63d hal/mtl: most of the command encoding 2021-06-10 02:31:31 -04:00
Dzmitry Malyshau
bdaf57dbed hal/mtl: pipelines and fences 2021-06-09 23:38:48 -04:00
Dzmitry Malyshau
9f904700ee hal/mtl: creation of bind groups 2021-06-09 17:06:43 -04:00
Dzmitry Malyshau
f46459c589 hal/mtl: buffer, texture, and view creation 2021-06-09 01:51:45 -04:00
Dzmitry Malyshau
3475d839f9 hal/metal: instance,adapter, and surface 2021-06-09 00:55:49 -04:00
Dzmitry Malyshau
6d229847be hal: redesign the bind group descriptor 2021-06-08 17:12:28 -04:00
Dzmitry Malyshau
a0b51ce35c hal: remove the cows 2021-06-08 15:18:06 -04:00
Dzmitry Malyshau
502c57501f hal: bunnymark example 2021-06-08 14:58:48 -04:00
Dzmitry Malyshau
a421c1c8b6 Instance plumbing 2021-06-08 11:46:53 -04:00
Dzmitry Malyshau
ff2a3e84fc update synchronization, fix last errors in wgc 2021-06-08 02:03:44 -04:00
Dzmitry Malyshau
0a82c232ba hal: port the rest of wgpu-core 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
c61ee1262b hal: transfer operations 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
6d51fab864 hal:: Fill the command buffer calls 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
738ae2b227 Surface API 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
bae3c694bd Documentation update 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
0ea4cac04b Rework shader and pipeline creation 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
569cd0cdd6 WIP new wgpu-hal 2021-06-08 00:46:08 -04:00
bors[bot]
a92b8549a8
Merge #1474
1474: Add clear buffer/image to wgpu-rs api r=kvark a=Wumpf

Follow up to  #1335

Started using this in Blub fluid sim a little bit on volume textures, works nicely 432fb75a68, more to come

Co-authored-by: Andreas Reich <r_andreas2@web.de>
2021-06-06 00:07:03 +00:00
bors[bot]
8e8f59af7c
Merge #1479
1479: fix typo regarding structure rename in changelog r=kvark a=profan

**Description**
Just fixing a typo I realised was there when trying to use the changelog to fix my code, thanks for adding a list of changes to the latest changelogs!


Co-authored-by: Robin Hübner <robinhubner@gmail.com>
2021-06-05 22:29:01 +00:00
Robin Hübner
bc0c86a47a
fix typo regarding structurer rename in changelog 2021-06-05 22:09:06 +01:00
Andreas Reich
99e691932d add clear buffer/image to wgpu-rs api 2021-06-05 11:49:13 +02:00
bors[bot]
7978df83ef
Merge #1470
1470: Validate pipeline state formats r=cwfitzgerald a=kvark

**Connections**
Fixes #1425

**Description**
We weren't validating any of the pipeline formats.

**Testing**
Manually tested, e.g.:
```
    Caused by:
        In Device::create_render_pipeline
          note: label = `shadow`
        depth/stencil state is invalid
        format Rgba8UnormSrgb does not have a depth aspect, but depth test/write is enabled
```

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-06-04 23:32:18 +00:00
Dzmitry Malyshau
cfc6792c82 Validate pipeline state formats 2021-06-03 10:30:35 -04:00
bors[bot]
c7576553ba
Merge #1469
1469: Handle winit exception in web to avoid breaking async executor r=grovesNL a=Frizi

This is a continuation of https://github.com/gfx-rs/wgpu-rs/pull/923.

I'd still like to fix this on our end, even if the real underlying issue is in winit. The fix is small, and we can migrate to the proper winit solution once it exists. In the mean time, we can continue working on improving webgl support without a major blocker.

Co-authored-by: Frizi <frizi09@gmail.com>
2021-06-03 11:25:46 +00:00
Frizi
07376d11e8 Handle winit exception in web to avoid breaking async executor 2021-06-03 13:02:56 +02:00
Dzmitry Malyshau
e4b0de2526 Links updates 2021-06-02 23:54:26 -04:00
Dzmitry Malyshau
900a141392 Work around CI failures on hello-compute 2021-06-02 22:48:33 -04:00
Dzmitry Malyshau
a6ff3ea086 Merge changelogs and readmes 2021-06-02 21:50:16 -04:00
Dzmitry Malyshau
4fc478513a Merge ../wgpu-rs into reunion 2021-06-02 21:31:02 -04:00
bors[bot]
6566a6ce49 [rs] Merge #920
920: Bunnymark example r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-06-02 16:20:43 +00:00
Sean Moulton
9bdc65e5f7 [rs] Add include_wgsl!() macro (#922)
* Add include_wgsl macro

* Add include_wgsl macro

* Change ShaderFlags to all
2021-06-01 22:31:02 -04:00
Dzmitry Malyshau
e98f36245b [rs] Framework and README update 2021-06-01 09:54:44 -04:00
Dzmitry Malyshau
f438f0b920 [rs] Bunnymark example 2021-06-01 09:19:19 -04:00
bors[bot]
6e680d96a4 [rs] Merge #921
921: Update wgpu to eadaa1b7d8 r=kvark a=kvark

Picks up https://github.com/gfx-rs/wgpu/pull/1419, https://github.com/gfx-rs/wgpu/pull/1417, and https://github.com/gfx-rs/wgpu/pull/1403

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-06-01 13:10:49 +00:00
Dzmitry Malyshau
ac6276dfb5 [rs] Update wgpu to eadaa1b7d8 2021-06-01 09:02:19 -04:00
bors[bot]
eadaa1b7d8
Merge #1419
1419: Skip the cube compatibility on a downlevel flag r=cwfitzgerald a=kvark

**Connections**
Fixes #1418

**Description**
Adds a downlevel flag for cube arrays, checks for it.

**Testing**
Untested, but should work.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-06-01 12:44:53 +00:00
Dzmitry Malyshau
beb88b0a88 Skip the cube compatibility on a downlevel flag 2021-06-01 08:29:44 -04:00
bors[bot]
9cd01635d7
Merge #1417
1417: Split the tracker into stateful/stateless to reduce the overhead r=cwfitzgerald a=kvark

**Connections**
Implements https://github.com/gfx-rs/wgpu/issues/1413#issuecomment-851604344
Reduces the overhead for resource tracking in the Animometer benchmark by up to 50%.

**Description**
We used to use the full tracker set on the usage scopes associated with compute/render passes. A resource tracker has 2 responsibilities: ensuring the resource is held alive, and validating and recording the state transitions. This PR exploits the fact that the latter responsibility is only applicable for buffers and textures. So doing all the lifetime tracking for a pass is a waste: we can instead just attach the lifetimes to the parent command buffer, straight.

In the Animometer benchmark, there is one large buffer, and thousands of bind groups pointing to different offsets into it. The old code would fill up the pass tracker with those bind groups, and then merge it into the command buffer tracker. The new code would just fill up the command buffer tracker instead. Since there is only one buffer, the pass tracking becomes much lighter.

**Testing**
Untested. It would be nice to have some benchmarks here, possibly after #1397 ?

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-06-01 06:45:05 +00:00
bors[bot]
c332c7fffe
Merge #1403
1403: Trace render passes before they are ran r=cwfitzgerald a=kvark

**Connections**
Follow-up to #1245 

**Description**
We want the API traces to reproduce issues. Previously, we moved all the resource creation to happen after the trace is written.
This PR follow-up by also recording the render pass commands even in the case where one of them triggers a validation error.

Another big part of the PR now is handling the command buffers that failed for some reason. The submission is skipping them now instead of erroring the whole thing.

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

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2021-06-01 06:31:28 +00:00
Lucien Greathouse
ba041e4451
Expand 0.8.0 Changelog (#1420)
* humble beginnings

* Current progress

* More precise NonZeroU32 change

* Fix typo

* Changelog enough to get my game to compile again

* Fix type change line
2021-06-01 02:03:59 -04:00
Dzmitry Malyshau
7b7e72b1c2 Split the tracker into stateful/stateless to reduce the overhead 2021-05-31 14:18:44 -04:00
Wumpf
f62d0d5edc
Native Extension: Expose fill buffer & clear image (#1335)
* Add command buffer fill buffer method

* Added test for buffer fill

* Added image clear + test

* image/buffer clear methods are now pure clear to zero

* fix cargo clippy & int type issues

* clear buffer alignment is now given by COPY_BUFFER_ALIGNMENT

* joined buffer/image clear player tests

* ImageSubresourceRange is now used in TextureViewDescriptor
2021-05-30 11:03:33 -04:00
bors[bot]
cb18541221 [rs] Merge #918
918: Specify latest gfx release branch in README r=kvark a=grovesNL

Specify latest gfx release branch in README, to hopefully avoid people checking out `hal-0.2` then wondering why the patch doesn't seem to do anything.

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2021-05-29 23:35:06 +00:00
Joshua Groves
2a42e73eef [rs] Specify latest gfx release branch in README 2021-05-29 14:56:56 -02:30
Dzmitry Malyshau
e9d2f402f1 Improve handling of erroring command buffers on submission 2021-05-20 15:35:14 -04:00
Dzmitry Malyshau
314ed4cce5 Trace render passes before they are ran 2021-05-20 11:43:39 -04:00
bors[bot]
bc70e1fd85 [rs] Merge #916
916: Update capture API r=kvark a=kvark

Picks up https://github.com/gfx-rs/wgpu/pull/1401

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-05-19 15:42:02 +00:00
Dzmitry Malyshau
3b7c6a9e00 [rs] Update capture API 2021-05-19 11:41:06 -04:00