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>
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>
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>
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>
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>
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>
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>
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>
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.
358: Remove all the IPC r=grovesNL a=kvark
Closes#146Closes#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>
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>
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>
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>