Commit Graph

8448 Commits

Author SHA1 Message Date
Dzmitry Malyshau
331fe55948 Check track isolation results for sanity 2019-06-13 10:20:21 -04:00
Dzmitry Malyshau
7b843f220f Move track logic into a module, fix isolate() first split 2019-06-13 10:15:24 -04:00
Dzmitry Malyshau
0e20549235 RangedState unit tests 2019-06-13 08:43:19 -04:00
Dzmitry Malyshau
30955e565c Phantom tracking state 2019-06-13 08:18:56 -04:00
Dzmitry Malyshau
d92b623bd8 Remove the old tracking code, update local feature and the headers 2019-06-12 12:29:28 -04:00
Dzmitry Malyshau
bc7b842f12 Moving the code to use the new tracker API 2019-06-12 12:27:53 -04:00
Dzmitry Malyshau
2446190a0b Finished first implementation of layer tracking 2019-06-12 12:22:58 -04:00
Dzmitry Malyshau
444220c6eb Another iteration of internal tracking 2019-06-12 12:22:19 -04:00
Dzmitry Malyshau
0dcd0c449d Parametrize Tracker by a state of a resource, add new plane tracker 2019-06-12 12:20:23 -04:00
Dzmitry Malyshau
2d5e67d6d5 Basic data structure to track mip levels and layers of a texture 2019-06-12 12:15:51 -04:00
bors[bot]
154ed3a9a5 [rs] Merge #21
21: Add native surface creation r=kvark a=grovesNL

- (API change) Rename `create_surface_with_metal_layer` to `create_surface_from_macos_layer` to match wgpu-native
- Expose `create_surface_from_xlib` and `create_surface_from_windows_hwnd`

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-06-12 03:48:56 +00:00
Joshua Groves
8653786e83 [rs] Run cargo fmt 2019-06-11 21:02:30 -04:00
Joshua Groves
e039b70cbb [rs] Add native surface creation 2019-06-11 21:02:06 -04:00
bors[bot]
d69955b612 Merge #220
220: Free descriptor sets r=kvark a=rukai

Tested on https://github.com/rukai/brawllib_rs, wgpu examples and wgpu-rs examples.
Closes: https://github.com/gfx-rs/wgpu/issues/217

My approach was to just implement descriptor set tracking the same way textures and buffers are implemented.

Co-authored-by: Rukai <rubickent@gmail.com>
2019-06-10 17:01:45 +00:00
Rukai
59388e329f Free descriptor sets 2019-06-10 16:02:46 +10:00
bors[bot]
004f5d9743 [rs] Merge #10
10: Update API for new wgpu gl backend support r=kvark a=kyren

This won't work until [this pr](https://github.com/gfx-rs/wgpu/pull/183) is merged in wgpu, but at least this way we can discuss it.

Co-authored-by: kyren <kerriganw@gmail.com>
2019-06-08 02:37:20 +00:00
bors[bot]
1fe4a9b320 Merge #216
216: Add Naïve Debug Derives Where Possible r=kvark a=arashikou

This adds `#[derive(Debug)]` to all public structs and enums possible. This also required adding it to some private types that they transitively depend on. However, the following types depend on types from external crates that do not implement Debug:

* `device::Device`
* `hub::Hub`
* `swap_chain::Surface`
* `swap_chain::SwapChain`

To support these types, we would need to use either custom `Debug` impls or something like [Derivative](https://mcarton.github.io/rust-derivative/).

This helps improve the situation in #76.

Co-authored-by: John W. Bruce <arashikou@gmail.com>
2019-06-07 23:03:30 +00:00
John W. Bruce
057719fdf5 Add Naïve Debug Derives Where Possible
This adds #[derive(Debug)] to all public structs and enums possible.
This also required adding it to some private types that they
transitively depend on. However, the following types depend on types
from external crates that do not implement Debug:

* device::Device
* hub::Hub
* swap_chain::Surface
* swap_chain::SwapChain

To support these types, we would need to use either custom Debug impls
or something like Derivative.

This helps improve the situation in #76.
2019-06-07 14:19:05 -07:00
bors[bot]
0815d99967 [rs] Merge #20
20: Update to latest wgpu-native r=kvark a=rukai



Co-authored-by: Rukai <rubickent@gmail.com>
2019-06-07 15:51:37 +00:00
Rukai
d25966f960 [rs] Update to latest wgpu-native 2019-06-07 20:36:17 +10:00
kyren
b76b81d9fa [rs] Fix merge snafu 2019-06-06 15:50:12 -04:00
kyren
95659b1843 [rs] Update for new wgpu PR, keep API slightly closer to vanilla 2019-06-06 15:46:02 -04:00
kyren
e4e30acc67 [rs] Update API for in-progress wgpu-gl PR to wgpu / gfx 2019-06-06 15:46:02 -04:00
bors[bot]
8cc50253c4 Merge #213
213: Use wider type for swapchain image epoch r=kvark a=grovesNL

Fixes #209

I don't think we need to do anything else here because it seems to only be used internally, so this should be a simple change.

Also ensures cbindgen is installed when targeting nightly on CI. It looks like it happened to be available on some Travis environments already so I missed this in #169

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-06-05 13:27:48 +00:00
Joshua Groves
9decf27f4f Ensure cbindgen is available 2019-06-05 09:20:59 -02:30
Joshua Groves
9e60499738 Use wider type for swapchain image epoch 2019-06-05 00:15:12 -02:30
bors[bot]
fe901fc7c2 [rs] Merge #16
16: Fix tests and run in CI r=grovesNL a=rukai

Fixes tests and enables running tests with vulkan on windows and linux.
If there are other platforms + backends I should add let me know.

Co-authored-by: Lucas Kent <rubickent@gmail.com>
2019-06-05 02:31:56 +00:00
bors[bot]
cb1b2416f6 [rs] Merge #17
17: Add GLX map PNG r=grovesNL a=paulkernfeld

Not sure if you're looking for more examples but if so, here is a 2D map

Co-authored-by: Paul Kernfeld <paulkernfeld@gmail.com>
2019-06-05 01:58:27 +00:00
bors[bot]
b1d9de0406 Merge #169
169: Add Windows/glfw3 to CI r=kvark a=grovesNL



Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-06-05 01:55:24 +00:00
Joshua Groves
7e7a88b831 Add Windows/glfw3 to CI 2019-06-04 22:09:58 -02:30
bors[bot]
85740873d0 Merge #212
212: More consistent descriptor passing r=kvark a=porky11

also use pointer for descriptor in `wgpu_command_encoder_begin_render_pass` for consistency reasons

Co-authored-by: Fabio Krapohl <fabio.u.krapohl@fau.de>
2019-06-04 20:20:10 +00:00
Fabio Krapohl
8abc1c2668 also use pointer for descriptor in wgpu_command_encoder_begin_render_pass for consistency reasons 2019-06-04 22:13:48 +00:00
bors[bot]
952a9f5b60 Merge #211
211: More consistent naming of pointer-size-pairs r=kvark a=porky11

* always plural form without _ptr suffix for pointers
* always same name as pointer for size, but with _length suffix
* special case: single size applies to multiple pointers => only use length as name

Co-authored-by: Fabio Krapohl <fabio.u.krapohl@fau.de>
2019-06-04 19:47:30 +00:00
Fabio Krapohl
488367ce30 More consistent naming of pointer-size-pairs:
* always plural form without _ptr suffix for pointers
* always same name as pointer for size, but with _length suffix
* special case: single size applies to multiple pointers => only use length as name
2019-06-04 21:41:39 +00:00
bors[bot]
0642509deb Merge #208
208: Ensure wait_for_fences is never called on 0 fences r=kvark a=rukai

I don't see any reason why self.active should never be empty.

This fixes the validation errors but not the slowdown of https://github.com/gfx-rs/wgpu/issues/207
I presume the slowdown was causing self.active to clear.

Co-authored-by: Rukai <rubickent@gmail.com>
2019-06-03 16:13:56 +00:00
Rukai
4ad3d418c2 Ensure wait_for_fences is never called on 0 fences 2019-06-03 23:07:42 +10:00
bors[bot]
a1a1467d15 Merge #206
206: Fix typos. r=grovesNL a=waywardmonkeys



Co-authored-by: Bruce Mitchener <bruce.mitchener@gmail.com>
2019-06-03 11:22:19 +00:00
Bruce Mitchener
88463810dd Fix typos. 2019-06-03 14:31:17 +07:00
Paul Kernfeld
999d79ffd0 [rs] Add GLX map PNG 2019-06-02 19:52:57 -04:00
bors[bot]
2df6db5dd9 Merge #201
201: Add uniform buffer offset alignment constant r=kvark a=cloudhead

Fixes #158 

Also needs to be exposed in `wgpu-rs`.

Happy to change the var name to something different or shorter.

Co-authored-by: Alexis Sellier <alexis@monadic.xyz>
2019-06-01 18:57:08 +00:00
Alexis Sellier
6794333dba
Expose and validate buffer offset alignment 2019-06-01 20:25:12 +02:00
Dzmitry Malyshau
fb3cf05be1 [rs] Native update to 803c607794 2019-05-31 15:00:12 -04:00
bors[bot]
803c607794 Merge #200
200: Fix Rendy memory selection r=kvark a=kvark

Fixes #199 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-05-31 17:54:40 +00:00
Dzmitry Malyshau
97e630f320 Fix Rendy memory selection 2019-05-31 13:53:26 -04:00
Dzmitry Malyshau
67914001e1 [rs] Native update to 9276cd51c0 2019-05-31 10:32:05 -04:00
bors[bot]
9276cd51c0 Merge #197
197: Rendy integration r=grovesNL a=kvark

Integrates with rendy-memory and rendy-descriptor.
~~Includes #195~~
Fixes #111 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-05-31 11:30:33 +00:00
Dzmitry Malyshau
351432aae2 hook up rendy-memory 2019-05-30 13:34:43 -04:00
Dzmitry Malyshau
9c408f919c Hook up rendy-descriptor 2019-05-30 08:35:34 -04:00
bors[bot]
77457e408d Merge #195
195: Fix tracking and improve draw call validation r=grovesNL a=kvark

Fixes #196 

## Validation
Note: the most difficult bit is still missing - we need to know the maximum index in an index buffer. This is not meant to be done in this PR though, the logic is good enough on its own.

## Tracking
Implements a custom iterator with Drop.
Also, reset tracking of resources when a command buffer is done.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-05-30 03:52:21 +00:00
Dzmitry Malyshau
d01509e9a2 Fix Storage textures/buffers support 2019-05-29 23:50:29 -04:00