Commit Graph

645 Commits

Author SHA1 Message Date
bors[bot]
55aab54b4e
Merge #465
465: [0.4] Refactor the swap chain frame tracking r=kvark a=kvark

On the surface, it gets us from "key not present" to "Used swap chain frame has already presented" in the case of an application presenting before submitting a command buffer. But the worst thing is that we used to lock up the driver on that presentation, so now the problem is much less mysterious.
cc @snuk182 

Fixes #458
Works around #227 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
Co-authored-by: Korijn van Golen <k.vangolen@clinicalgraphics.com>
2020-01-21 18:54:45 +00:00
Korijn van Golen
9f017f4e29 configure rust msvc toolchain on windows on travis 2020-01-20 16:31:18 -05:00
Dzmitry Malyshau
6716556992 Optionally request vertex shader stores and atomics 2020-01-20 14:42:16 -05:00
Dzmitry Malyshau
2fe7b5d95a Fix support for SHADER_READ buffers 2020-01-20 14:40:30 -05:00
Dzmitry Malyshau
5587bc8600 Refactor the swap chain frame tracking 2020-01-20 11:05:59 -05:00
bors[bot]
b7182e690b
Merge #410
410: [0.4] Fix tracking of render pass attachments r=grovesNL a=kvark

Fixes #407
Also improves the debug output of the tracker.

Filed #409 for addressing this better.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-12-17 02:57:43 +00:00
Dzmitry Malyshau
0e8e806a1b Fix tracking of render pass attachments 2019-12-15 22:52:22 -05:00
bors[bot]
073c7d779d
Merge #389
389: [0.4] Transition and binding fixes r=grovesNL a=kvark

Back-ports #387 as well as a tiny bit of #378 to v0.4 branch and bumps the patch version.
Fixes  #384

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-29 03:04:29 +00:00
Dzmitry Malyshau
27d88fa9e6 Version bump to 0.4.1 2019-11-28 17:13:32 -05:00
Dzmitry Malyshau
48c81f5d54 Stop dynamic offset iteration when the bind groups stop 2019-11-28 16:35:42 -05:00
Dzmitry Malyshau
5f9158f028 Fix depth-stencil transition aspects 2019-11-28 16:30:51 -05:00
bors[bot]
951641dcc5
Merge #373
373: Release preparations for 0.4 r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-04 00:33:07 +00:00
Dzmitry Malyshau
9ffcbe5f9d Release preparations 2019-11-03 18:52:57 -05:00
bors[bot]
c33b1e81fd
Merge #372
372: Followup for #356 - fix incorrect check r=kvark a=parasyte

@kvark This fixes the fix created in #356 

The original patch is checking the _requested descriptor limits_, but the backend limits are what needs to be checked for this edge case.

Co-authored-by: Jay Oster <jay@kodewerx.org>
2019-11-02 23:35:55 +00:00
Jay Oster
5a7b16076c Followup for #356 - fix incorrect check 2019-11-02 15:25:32 -07:00
bors[bot]
12d4108ca8
Merge #367
367: Support rendering to the swapchain from multiple command buffers r=jazzay a=kvark

Fixes #366

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-02 12:12:50 +00:00
bors[bot]
14c3583ba2
Merge #371
371: Don't depend on gfx-auxil r=straightforward a=kvark

Problem with gfx-auxil is that version 0.1 drags spirv_cross dependency (not needed on Vulkan), and the published crates haven't been switched to gfx-auxil-0.2

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-02 04:26:04 +00:00
Dzmitry Malyshau
cb692620ca Don't depend on gfx-auxil 2019-11-02 00:24:36 -04:00
bors[bot]
505096d027
Merge #369
369: return Result instead of panic r=kvark a=antonok-edm

Fixes https://github.com/gfx-rs/wgpu-rs/issues/106

Pretty simple implementation, let me know if this isn't sufficient

Co-authored-by: Anton Lazarev <antonok35@gmail.com>
2019-11-01 18:20:40 +00:00
Anton Lazarev
027a61a48d
return Result instead of panic 2019-11-01 11:11:43 -07:00
Dzmitry Malyshau
52b9d061f4 Support rendering to the swapchain from multiple command buffers 2019-10-31 10:14:48 -04:00
bors[bot]
b8d26c9186
Merge #363
363: Extended remote example r=kvark a=kvark

The remote example is now successfully able to request an adapter and to clean up the IDs.
In the near future, we need to change the example so that the server is run on a different thread...

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-30 03:24:05 +00:00
Dzmitry Malyshau
384de9ca52 Properly dispose of DescriptorAllocator 2019-10-29 15:45:48 -04:00
Dzmitry Malyshau
ff1adb34d9 Fix destroy_instance warning 2019-10-29 15:30:30 -04:00
Dzmitry Malyshau
4635f1eb07 Extended remote example 2019-10-29 13:31:40 -04:00
bors[bot]
ee9fd49c1d
Merge #361
361: Don't panic on the lack of adapters r=trivial a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-29 02:41:40 +00:00
Dzmitry Malyshau
41132a3762 Don't panic on the lack of adapters 2019-10-28 22:40:57 -04:00
bors[bot]
6a6517832a
Merge #360
360: Update to latest rendy with gfx-0.4 r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-28 16:00:13 +00:00
Dzmitry Malyshau
271c709645 Update to latest rendy with gfx-0.4 2019-10-28 11:59:18 -04:00
bors[bot]
b71fc33c72
Merge #359
359: Make examples work again r=kvark a=GabrielMajeri

This PR fixes the C example code to not crash and actually run.

I've also added a few assertions to ensure a warning is emitted next time somebody forgots to increase `max_bind_groups` to something non-zero on device creation.

To help with debugging the examples, I've configured CMake to include debug info in the builds. Some new Makefile targets for the examples have been added to automate running them.

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2019-10-26 21:08:16 +00:00
Gabriel Majeri
eb198a9c3e Fix C examples
Get the examples running again.

The compute example has been simplified to use only one buffer.

A new check has been added to ensure the `max_bind_groups`
device limit is properly set.
2019-10-26 22:13:53 +03:00
bors[bot]
94f43c1167
Merge #358
358: Remove all the IPC r=grovesNL a=kvark

Closes #146 
Closes #22

We have decided to use Gecko IPC for Firefox. `wgpu-remote` will therefore provide all the Rust glue that Gecko needs for client and server:
  - initialization/termination of client/server
  - ID management for the client
  - pass encoding blobs

In Servo, we'd need to enable `serde` feature of `wgpu-native` and potentially roll out a different remoting crate that would establish a protocol based on `ipc-channel`, as we wanted originally.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-26 13:54:52 +00:00
Dzmitry Malyshau
538c23b039 Implement shutdown for the remote server 2019-10-25 22:56:52 -04:00
Dzmitry Malyshau
e37149b3a8 Remove all the IPC 2019-10-25 12:06:12 -04:00
bors[bot]
c8d0da65ad
Merge #357
357: Explicit Global hubs r=grovesNL a=kvark

Fixes #354

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-25 02:08:56 +00:00
Dzmitry Malyshau
50997544c6 Formatting pass 2019-10-24 14:53:45 -04:00
Dzmitry Malyshau
41c433ed27 Refactor log usage 2019-10-24 14:53:07 -04:00
Dzmitry Malyshau
4851284150 Switch from remote feature to local 2019-10-24 14:52:44 -04:00
Dzmitry Malyshau
f67894c310 Explicit Global hubs 2019-10-24 14:52:19 -04:00
bors[bot]
ae5a78f828
Merge #356
356: Allow max_bind_groups to be missing, for now r=kvark a=kvark

Fixes  #355

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-24 14:51:05 +00:00
Dzmitry Malyshau
f3a0dd9b63
Allow max_bind_groups to be missing, for now 2019-10-24 10:50:08 -04:00
bors[bot]
a04a4b1cff
Merge #353
353: Always return an Id by request_adapter r=kvark a=kvark

Requesting adapters is a bit special in a sense that it's exactly the place where the backend selection happens. It accepts a list of Ids, and we need to always return one, so that the remote client knows which Id was actually used and clean up the others.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-23 22:49:34 +00:00
Dzmitry Malyshau
c4906ee36f Always return an Id by request_adapter 2019-10-23 14:31:36 -04:00
bors[bot]
50acc2909c
Merge #352
352: Fix compute pass resource binding r=kvark a=kvark

Follow-up to #348 
cc @grenlight @terrence2 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-22 14:08:54 +00:00
Dzmitry Malyshau
cf687604b9 Fix compute pass resource binding 2019-10-22 09:09:53 -04:00
Terrence Cole
78fbbba5e9 Support Limits::max_bind_groups (#348)
* Pass max_bind_count down into Binder.
* Use the existing hub.
* Remove accidental newline.
2019-10-14 21:57:05 -04:00
bors[bot]
5ba923c79f
Merge #344
344: Update deps r=kvark a=rukai

We should wait for https://github.com/rust-windowing/winit/pull/1191 to find its way into a winit release before merging this PR.

Co-authored-by: Rukai <rubickent@gmail.com>
2019-10-06 02:05:41 +00:00
Rukai
31ef688213 Updated deps 2019-10-06 11:17:57 +11:00
bors[bot]
33aee5250e
Merge #347
347: Add license headers to all Rust sources r=imnotalawyer a=kvark

Fixes #346 
the header is fairly small, so it shouldn't be in the way of editing files

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-04 19:31:03 +00:00
Dzmitry Malyshau
9c58a5d11a Add license headers to all Rust sources 2019-10-04 15:24:17 -04:00