Commit Graph

2761 Commits

Author SHA1 Message Date
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
Dzmitry Malyshau
2614efba7c Protect mapped buffers from early destruction 2019-05-29 23:50:29 -04:00
Dzmitry Malyshau
cb6e1dba5a Force tracking side effects on drop 2019-05-29 23:50:27 -04:00
Dzmitry Malyshau
c0c2cdf31c Clear command buffer tracker 2019-05-29 23:49:29 -04:00
Dzmitry Malyshau
a6bc4420eb Don't early out on pipeline binding 2019-05-29 23:49:29 -04:00
Dzmitry Malyshau
9621fb3021 Validate vertex/instance/index buffer ranges 2019-05-29 23:49:27 -04:00
Lucas Kent
50501e7a13 [rs] Fix tests and run in CI 2019-05-29 17:20:33 +10:00
bors[bot]
b9ad929785 [rs] Merge #15
15: Upgdate to latest wgpu-native r=kvark a=rukai



Co-authored-by: Lucas Kent <rubickent@gmail.com>
2019-05-28 11:56:17 +00:00
Lucas Kent
a47fa5397d [rs] Upgdate to latest wgpu-native 2019-05-28 14:44:52 +10:00
bors[bot]
ce4ef375c3 Merge #194
194: Fix compute pass barriers r=grovesNL a=kvark

Fixes #193 (supposedly)
@m4b would you be able to confirm?

Basic idea is that we treat commands inside a compute pass to follow the same rule as transfer commands. We could even go as far as alias `type ComputePassEncoderId = CommandEncoderId`, but I thought maybe we can still take advantage of a separate type. Currently it gets both the backend command buffer and the tracker from the primary encoder, only to return them back in place when the pass is done.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-05-28 04:00:51 +00:00
bors[bot]
c204199dc2 Merge #192
192: add necessary windows lib files for vulkan, dx12, dx11 r=kvark a=Napokue

Introduce new argument BACKEND to specify the back-end framework in the hello_triangle_c CMake script. I will update the other examples, hello_remote_c & hello_compute_c (working on this one) in a future PR.

fix #188 

Co-authored-by: Timo de Kort <dekort.timo@gmail.com>
2019-05-27 14:41:11 +00:00
Dzmitry Malyshau
4446b81f3e Fix compute pass barriers 2019-05-26 23:55:23 -04:00
Timo de Kort
7bb528186f add DX11 support 2019-05-26 19:46:43 +02:00
Timo de Kort
9b0607973e resolve PR comments
- pass backends from the Makefile to the CMakeLists file
- add check to see if the BACKEND argument is set
- add dbghelp lib file
2019-05-26 18:23:19 +02:00
Timo de Kort
747defd01b add necessary windows lib files for vulkan/dx12
introduce new argument feature-native to specify the back-end framework
2019-05-25 18:42:59 +02:00
bors[bot]
17e555b257 Merge #191
191: Use required option for glfw3 r=kvark a=grovesNL

This is minor, but we should force glfw3 to be required for the native hello_triangle example.

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-05-25 13:00:41 +00:00