Commit Graph

947 Commits

Author SHA1 Message Date
Gabriel Majeri
f70f32af87 Add optional SPIR-V shader validation
# Conflicts:
#	Cargo.lock
2020-05-09 19:55:10 +03:00
bors[bot]
54c6f6751b Merge #645
645: Add a loom test for RefCount r=kvark a=paulkernfeld

A first effort at gfx-rs/wgpu-rs#96
loom testing is gated behind cfg(loom)

Co-authored-by: Paul Kernfeld <paulkernfeld@gmail.com>
2020-05-06 18:10:43 +00:00
Paul Kernfeld
29a4cee002 Add a loom test for RefCount 2020-05-06 13:53:57 -04:00
bors[bot]
0df263fe3e Merge #649
649: Proper maintenance of the command pools r=cart a=kvark

Fixes #648
This brings the memory consumption on the multi-threaded cube to constant 50Mb.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-05-06 17:44:52 +00:00
Dzmitry Malyshau
cf8513baf5 Proper maintenance of the command pools 2020-05-06 11:15:08 -04:00
Dzmitry Malyshau
4c448c3fc5 Add a way to destroy a pass by a mutable reference (#647) 2020-05-05 21:52:06 -04:00
bors[bot]
e2d713a0d9 Merge #643
643: Refactor create_surface a bit r=antonok-edm a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-05-05 15:25:41 +00:00
Dzmitry Malyshau
3e57c11260 Refactor create_surface a bit 2020-05-05 09:47:51 -04:00
bors[bot]
bee826e79d Merge #640
640: Save bind group layout inside pipeline layouts r=kvark a=kvark

Fixes #639

Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>
2020-05-05 03:55:38 +00:00
Dzmitry Malyshau
fbc533bfee Save bind group layout inside pipeline layouts 2020-05-04 23:46:06 -04:00
bors[bot]
e2d59201fd Merge #351
351: Optionally support XCB windows on Unix r=kvark a=antonok-edm

`gfx-hal` supports XCB windows on Unix platforms, but it can't be used through `wgpu`. I added a new `xcb` feature to enable that support. `x11` support is now enabled using a default feature to remain backwards compatible.

Co-authored-by: Anton Lazarev <antonok35@gmail.com>
2020-05-04 20:41:25 +00:00
Anton Lazarev
29ce9a44cf Pass through raw-window-handle 2020-05-04 15:55:19 -04:00
bors[bot]
644949d945 Merge #637
637: Wait for idle before destroying swapchains r=kvark a=kvark

Follow up to #636 
I was trying to address the D3D12 error in https://github.com/gfx-rs/gfx/issues/3242
The debug messages complain about a resource being used by the queue while it's being destroyed. I thought forcing a wait there would help, but it does not. I think it's still a good change to land though.

In the meantime, I wonder if it considers the swapchain to be used because it's currently presented. Could be something else I'm missing here.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-05-04 03:47:15 +00:00
Dzmitry Malyshau
71d4f77ab8 Wait for idle before destroying swapchains 2020-05-03 23:39:05 -04:00
bors[bot]
1e43dafa4d Merge #636
636: Properly destroy swap chains r=kvark a=kvark

This is the last piece of the cleanup puzzle, I think, as closing an example becomes fully validation-free 🎉 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-05-04 02:35:14 +00:00
Dzmitry Malyshau
831d908663 Properly destroy swap chains 2020-05-03 22:13:43 -04:00
Dzmitry Malyshau
7a3fd709da Create issue templates 2020-05-02 22:39:48 -04:00
bors[bot]
48decb6d78 Merge #634
634: Make assertions more verbose in src/command r=kvark a=paulkernfeld

This contributes to #485

Co-authored-by: Paul Kernfeld <paulkernfeld@gmail.com>
2020-05-02 22:35:42 +00:00
Paul Kernfeld
cc2e6db7f5 Make assertions more verbose in src/command
This contributes to #485
2020-05-02 13:16:09 -04:00
bors[bot]
9911115d78 Merge #633
633: Fix build status badge r=grovesNL a=Gordon-F

fix #630 

Co-authored-by: Igor Shaposhnik <Gordon-F@users.noreply.github.com>
2020-05-02 12:26:04 +00:00
Igor Shaposhnik
6d455e4479 Fix build status badge 2020-05-02 12:10:29 +03:00
bors[bot]
3059109f77 Merge #632
632: Fix player validation errors on exit r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-05-02 03:34:34 +00:00
Dzmitry Malyshau
2d09b1d08d Fix player validation errors on exit 2020-05-01 23:33:16 -04:00
bors[bot]
6d920185fa Merge #628
628: Implement `From<TextureFormat>` for `TextureComponentType` r=kvark a=mitchmindtree



Co-authored-by: mitchmindtree <mitchell.nordine@gmail.com>
2020-05-02 02:01:43 +00:00
mitchmindtree
a8b8bc8283 Implement From<TextureFormat> for TextureComponentType 2020-05-02 02:33:22 +02:00
Dzmitry Malyshau
5bbe6ec38c Integrate with RenderDoc on winit-less captures (#627) 2020-05-01 15:34:32 -04:00
Igor Shaposhnik
0a0ef9a100 Split CI jobs by OS (#626) 2020-05-01 13:32:38 -04:00
bors[bot]
e2100b6911 Merge #621
621: Keep Adapter alive r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-05-01 04:30:09 +00:00
Dzmitry Malyshau
f35dd741aa Android support (#625) 2020-05-01 00:22:00 -04:00
Dzmitry Malyshau
288f8342b1 Don't drop the Global on panic 2020-05-01 00:20:54 -04:00
Dzmitry Malyshau
9500cfa4f3 Keep Adapter alive by the device 2020-05-01 00:20:54 -04:00
Paul Kernfeld
29fe9a935a Make assertions in wgpu-core device/mod.rs verbose (#622)
Co-authored-by: Paul Kernfeld <paulkernfeld@gmail.com>
2020-05-01 00:05:13 -04:00
Dzmitry Malyshau
f64b2dd3bb trace: make Id serialization nicer 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
3c68fb17e4 player: full winit integration 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
77a5eda796 trace: fix reusing object ids 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
854c1be035 trace: support pipelines, refactor destruction sequence 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
018417f174 trace: replaying all the commands 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
47f37ad78e trace: player skeleton 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
622d9ecc74 trace: all the commands 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
d4705b6008 trace: bind groups, shaders, and buffer contents 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
1cc548a7a2 Make descriptors generic over Label 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
4c1ea02553 trace: hook up RON output 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
5035ffdfe2 Split limits and private features, add tracing module 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
0e533547a1 Split serde feature into trace+replay 2020-04-30 09:55:52 -04:00
Gabriel Majeri
d45323505c Add links to docs in README 2020-04-27 09:27:34 -04:00
bors[bot]
bc065e4abc Merge #615
615: Use General allocator at all times for now r=grovesNL a=kvark

In all user-managed resources, we don't have control of the lifetime. Since we don't know when it's released, we can't use any more specific allocator kind than `General`.

Previously, we assumed that buffers created for MAP_READ+COPY_SRC, for example, were one-time buffers created to copy data. However, there appear to be cases where they were used to fill data in once, and then persistently used as a copy source destination.

In the future, one WebGPU data transfer story is settled, we'll be able to use `Linear` kind again for all internally managed uploads. I.e. writeBuffer, writeTexture, and createBuffeMappedOnlyAtStart.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-04-25 02:08:54 +00:00
Dzmitry Malyshau
fc68b5ef54 Use General allocator at all times for now 2020-04-24 21:59:41 -04:00
Dzmitry Malyshau
09d3623885 Minor error reporting fixes (#607) 2020-04-24 21:58:30 -04:00
Gabriel Majeri
b8f8dd78fd Run tests in CI 2020-04-24 22:43:14 -02:30
Igor Shaposhnik
1088683643 Fix windows nightly CI 2020-04-24 10:34:13 -02:30