Commit Graph

1304 Commits

Author SHA1 Message Date
bors[bot]
a7200bb865
Merge #653
653: Implement Queue::write_buffer r=nobody a=kvark

Implements https://github.com/gpuweb/gpuweb/pull/749
TODO:
- [x] handle a case where the buffer is dropped while there is a pending write. Edit: we bump the submission index on the buffer, so it will be kept alive.
- [x] properly free the temporary buffer and memory
- [x] properly destroy the pending command buffer on device drop
- [x] tweak the linear allocator settings - bumped to 16 megs
- [x] provide a patch to wgpu-rs and verify it works on the examples - https://github.com/gfx-rs/wgpu-rs/pull/307
- [x] provide a patch to wgpu-native - https://github.com/gfx-rs/wgpu-native/pull/25
- [x] check/fix the trace/replay support

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-05-13 13:29:09 +00:00
skierpage
67142eb944
use unambigous ISO8601 format for dates
06-04-2020 is in the future for ~400 million people.
Oblig. XKCD https://xkcd.com/1179/ 😉
2020-05-12 16:06:19 -07:00
Dzmitry Malyshau
4c62b20282 Multiple fixes and clean ups.
- Clean up after the pending writes on destroy.
- Fix temporary buffer creation.
- Fix internal thread initialization by the command allocator.
- Clean up player event_loop usage.
2020-05-11 14:07:02 -04:00
Dzmitry Malyshau
786ead9701 Destroy temporary buffers 2020-05-11 10:53:21 -04:00
Dzmitry Malyshau
35f2e8b70e Move queue logic into a submodule 2020-05-10 22:40:04 -04:00
Dzmitry Malyshau
ba8c2eae54 Implement Queue::write_buffer 2020-05-10 01:21:47 -04:00
bors[bot]
da4f9006a8
Merge #641
641: Add optional SPIR-V shader validation r=kvark a=GabrielMajeri

This PR adds some basic validation for SPIR-V shaders when creating pipelines. Starts work towards #269.

Currently, I'm marking this as a draft because `naga` isn't mature enough to be able to parse shaders from the `wgpu-rs` examples.

For example:
- Trying to run `hello-triangle` from `wgpu-rs` results in the following error:
`Failed to parse shader SPIR-V code: UnsupportedInstruction(Function, Variable)`
- For `hello-compute` it is:
`Failed to parse shader SPIR-V code: UnsupportedInstruction(Type, TypeBool)`

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-05-09 22:07:30 +00:00
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