169: Disable window bitmap redirection r=kvark a=kvark
That sets `WS_EX_NOREDIRECTIONBITMAP`. According to @raphlinus, makes our resize better :)
There are still strange pauses I see on resizing with DX12 (with and without the change), to be followed-up.
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
166: Reduce Rust requirements for Pin usage r=auto a=kvark
That lowers Rust requirement from 1.39 to 1.33
Important, since Ubuntu packages are still on 1.37
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
153: Update readme badges r=kvark a=rukai
Adds docs.rs badge link and replaces gitter badge with a matrix badge.
Looks like the the matrix room needs to be more public or else i've somehow messed up the matrix room name in the badge url.
Co-authored-by: Rukai <rubickent@gmail.com>
157: Handle resizing in hello-triangle r=kvark a=quadrupleslap
Nothing gets drawn on my computer unless the swap chain is resized along with the window.
```
$ uname -a
Linux red 5.3.7-arch1-1-ARCH #1 SMP PREEMPT Fri Oct 18 00:17:03 UTC 2019 x86_64 GNU/Linux
$ wmctrl -m
Name: bspwm
Class: wm
PID: 665
Window manager's "showing the desktop" mode: N/A
```
Co-authored-by: Ram Kaniyur <quadrupleslap@gmail.com>
154: Use exact version for winit alpha r=kvark a=grovesNL
Use exact version for winit alpha to avoid issues when new alphas are published (rust-windowing/winit#1362)
Co-authored-by: Joshua Groves <josh@joshgroves.com>
152: Update to latest winit (0.20.0-alpha6) r=kvark a=grovesNL
Updated to latest winit to fix examples:
- `RedrawRequested` is now used for rendering
- `EventsCleared` replaced by `MainEventsCleared` which requests redraw
- Removed Metal auto-capture and escape key handling from hello-triangle to simplify the example slightly (it doesn't use `framework`, so we should try to make it as simple as possible IMO)
Should we also remove the `feature = gl` parts of the examples to simplify them until GL is reenabled?
Co-authored-by: Joshua Groves <josh@joshgroves.com>
- `RedrawRequested` is now used for rendering
- `EventsCleared` replaced by `MainEventsCleared` which requests redraw
- Removed capture from hello-triangle to simplify it slightly
148: Change Queue::submit to take &self r=kvark a=LaylConway
This small change allows multiple threads to submit buffers slightly more efficiently, by being able to do it concurrently without a lock on Queue.
In practice currently `Queue::submit` does a lot of locking internally for most of the function's duration, so it's only a small performance win right now, but it opens up the road for more improvements.
Co-authored-by: Layl <2385329-layl@users.noreply.gitlab.com>
Updates for boids example
Rename example folder
Use chunks_muts when creating initial_particles data
No need for depth
Syntax and minor changes
calculate multiple particles in single compute unit
updates boids example to use framework impl
removed code
fix gpu invocations constants
145: Mark CommandEncoder as !Send !Sync r=kvark a=LaylConway
These depend on the thread-specific command pool they're allocated from, which requires only one thread accessing them at a time, so they can't be moved to other threads without additional synchronization.
Co-authored-by: Layl <2385329-layl@users.noreply.gitlab.com>
120: prototype of futures for buffer mapping r=grovesNL a=swiftcoder
This is largely in request-for-comment state right now, although it does work.
As written the `GpuFuture` implementation only works with types that are `Copy`, which rules out using a destructor to unmap the buffer. I'm assume it's possible to write a future type that can produce a non-Copy result, but I haven't sufficiently internalised how `Pin` works to see how.
Co-authored-by: Tristam MacDonald <swiftcoder@gmail.com>
127: Use u8 for buffer mapping r=kvark a=Coder-256
cc @kvark @grovesNL
This is a temporary solution for #119, and a follow-up for #126.
Co-authored-by: Jacob Greenfield <jacob@jacobgreenfield.me>