Commit Graph

367 Commits

Author SHA1 Message Date
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
Dzmitry Malyshau
cb692620ca Don't depend on gfx-auxil 2019-11-02 00:24:36 -04: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
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
41132a3762 Don't panic on the lack of adapters 2019-10-28 22:40:57 -04: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
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
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
Dzmitry Malyshau
f3a0dd9b63
Allow max_bind_groups to be missing, for now 2019-10-24 10:50:08 -04:00
Dzmitry Malyshau
c4906ee36f Always return an Id by request_adapter 2019-10-23 14:31:36 -04: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
Dzmitry Malyshau
9c58a5d11a Add license headers to all Rust sources 2019-10-04 15:24:17 -04:00
bors[bot]
d79b279156
Merge #343
343: Document primary/secondary backend bit r=kvark a=rukai

Happy to add more detail, but this should be sufficient for the user to understand what PRIMARY/SECONDARY mean.

Co-authored-by: Rukai <rubickent@gmail.com>
2019-09-30 15:52:26 +00:00
Joshua Groves
5080a20cb6 Disallow copying for D24Plus textures 2019-09-28 00:32:00 -06:00
Joshua Groves
e430a4cf40 Fallback to D32 when D24 isn't available 2019-09-27 23:44:26 -06:00
Rukai
194a155cae Document primary/secondary backend bit 2019-09-28 08:30:51 +10:00
yanchith
758bb16d01 Make sure submissions are tracked 2019-09-24 19:04:35 +02:00
yanchith
ed8503ed6c Track and destroy samplers
This PR adds `ResourceId::Sampler`, `NativeResource::Sampler` and
`TrackerSet::samplers`. Samplers are (similarly to bind groups)
created with their own life guard and a device id to keep the device
ref count alive. Also added are `extern wgpu_sampler_destroy` and
`sampler_destroy`.

The rest of the implementation was guided by compiler errors, so there
is a good chance I didn't find something crucial that also needed
doing. Please check :)
2019-09-23 12:13:18 +02:00
m4b
46501f296a print usage required during device usage validation
fixes #339
2019-09-15 22:27:25 -07:00
bors[bot]
c3609d71c9
Merge #331
331: Add a function to describe a device r=kvark a=paulkernfeld

This is for https://github.com/gfx-rs/wgpu-rs/pull/29

This successfully describes the device on my machine. I think I may have done the imports wrong. If so, apologies.

Co-authored-by: Paul Kernfeld <paulkernfeld@gmail.com>
2019-09-12 01:42:08 +00:00
bors[bot]
b045e7ea13
Merge #337
337: Fix life cycle of swap chain framebuffers r=grovesNL a=kvark

Fixes #78 

The new swapchain model requires framebuffers to be destroyed right after presentation.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-09-11 23:18:40 +00:00
Dzmitry Malyshau
9c32dd57b1 Prefer the specific number of frames in a swap chain 2019-09-11 13:23:51 -04:00
Dzmitry Malyshau
050b716aef Fix life cycle of swap chain framebuffers 2019-09-10 09:16:51 -04:00
Dzmitry Malyshau
5f1c432706 New swapchain model 2019-09-09 20:53:35 -04:00
Paul Kernfeld
36cccb827d Add a way to describe an adapter 2019-09-09 20:28:30 -04:00
bors[bot]
510a23f2fa
Merge #332
332: Validate resource usage flags when used r=kvark a=yanchith

This PR adds usage flag validations to the functions discussed in https://github.com/gfx-rs/wgpu/issues/228#issuecomment-528949445 and https://github.com/gfx-rs/wgpu/issues/228#issuecomment-528953096

I added `usage` fields to `Buffer` and `Texture` for convenience.

The validations themselves are run before much else happens (seemed clearer that way). This means certain `VecMap`s and `FastHashMap`s might be queried more than necessary, though. 

I also left one TODO in, which I'd like to resolve: With what usage flags should the swapchain textures be created? Currently it initializes the texture resource trackers with `UNINITIALIZED`, so I just copied the same flag for the texture. This just happens to work (that is not trigger the validations I added), because its value, `UNINITIALIZED`, pretends to be every usage flag by having all bits set. Is that by design?

Closes #228 ~(except for `BufferUsage::INDIRECT`, for which I can create another issue)~

Co-authored-by: yanchith <yanchi.toth@gmail.com>
2019-09-09 14:36:59 +00:00
yanchith
141f4f71eb Validate resource usage flags when used 2019-09-09 15:44:15 +02:00
Dzmitry Malyshau
fe89c52834 Make Vulkan optional on Apple 2019-09-07 21:51:34 -04:00
Alichay
306dd09626 Exported function wgpu_render_pass_set_index_buffer 2019-09-06 20:49:11 -05:00
Dzmitry Malyshau
988d78435a Switch to use gfx-rs latest and greatest master 2019-09-06 10:05:53 -04:00
Daniel Salvadori
05b68bbee6 Select virtual GPU last in all power preferences 2019-09-05 20:10:39 -03:00
Daniel Salvadori
443a0d661f Create vulkan instance on windows 2019-09-03 17:41:52 -03:00
bors[bot]
40fb3fcdfd
Merge #319
319: Multiple binding fixes r=kvark a=kvark

Could be related to #315 (haven't confirmed)

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-09-01 04:22:59 +00:00
Dzmitry Malyshau
cc16b4b65a Fix binding compatibility checks 2019-08-31 00:56:05 -04:00
Dzmitry Malyshau
e97e54e4a3 Stop rebinding descriptors on the first incompatible 2019-08-31 00:56:05 -04:00
Dzmitry Malyshau
872bf21a9b Fix descriptor set offsets binding on pipeline change 2019-08-31 00:56:05 -04:00
bors[bot]
2acc0ebb62
Merge #314
314: Handle frame acquisition failure internally r=grovesNL a=kvark

Fixes #313, which is critical to get us running on Metal today.
In the nearest future, all that code will be removed in favour of using the alternative swapchain model.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-08-31 04:55:14 +00:00
Dzmitry Malyshau
86bb809c39 Fix building on ios 2019-08-30 09:07:21 -04:00
Dzmitry Malyshau
d37ecdf248 Handle frame acquisition failure internally 2019-08-29 22:27:21 -04:00