Commit Graph

118 Commits

Author SHA1 Message Date
Anton Lazarev
027a61a48d
return Result instead of panic 2019-11-01 11:11:43 -07:00
Dzmitry Malyshau
4635f1eb07 Extended remote example 2019-10-29 13:31:40 -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
175e992149 DX12/DX11 hookup, improved adapter selection 2019-08-29 09:44:34 -04:00
Dzmitry Malyshau
e84ae4a4b2 Feature-less backend selection
This PR removes optional backend features in favor of run-time
selection at the `request_adapter` entry point. Adapters from all
supported gpu backends on the platform are reported.

It also makes gfx-rs dependency to be public (for now).
2019-08-27 20:55:49 -04:00
Dzmitry Malyshau
1d36203c9a Raw window handle support instead of winit 2019-08-20 23:41:14 -04:00
yanchith
3abaed36c3 Rename buffer to encoder in wgpu_command_buffer_copy_* functions
This also regenerates `wgpu.h` and updates uses of
`wgpu_command_buffer_copy_buffer_to_buffer` in `compute/main.c`
2019-08-20 21:43:49 +02:00
Dzmitry Malyshau
f82ceba3c2 Minor renames to address the review comments 2019-08-16 22:36:30 -04:00
Dzmitry Malyshau
37afa0d98a Update API according to the upstream spec
Includes changes in texture view creation, enumeration mapping,
binding types, and more.
2019-08-15 23:24:35 -04:00
Dzmitry Malyshau
d37452ff27 Force pipeline barriers between unordered usages 2019-08-14 10:35:40 -04:00
Rukai
e61b16f7ed Update to gfx hal 0.3 2019-08-11 09:39:52 +10:00
Fabio Krapohl
6fee18f6f9 remove end pass return value and fix examples 2019-08-10 22:30:24 +02:00
Timo de Kort
842809bc0b add framework files 2019-07-27 14:30:20 +02:00
Timo de Kort
d759da409f add compute example 2019-07-27 14:26:06 +02:00
Noah Hüsser
c5c7092d9c Make PresentMode configurable
Disable vsync

Revert accidential hardcode of num_frames

Make the PresentMode configurable

Adapt examples
+ adjust style according to @kvrak

Adher to @kvarks wishes for style.

Examples build.

Fix unnecessary ampersand.
2019-07-11 18:58:44 +02: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
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]
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
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
Joshua Groves
328e53852a Use required option for glfw3 2019-05-24 23:30:28 -02:30
Bruce Mitchener
b21a0c12af Remove unused variable on Metal code path. 2019-05-24 14:46:11 +07:00
Dzmitry Malyshau
a9063ce3eb Fix RenderPassColorAttachmentDescriptor 2019-05-15 22:38:59 -07:00
Dzmitry Malyshau
f024758e07 Track stencil reference 2019-05-14 11:58:10 -04:00
Dzmitry Malyshau
6a1dcb9565 API update with naming, formats, and extra fields 2019-05-14 10:31:25 -04:00
Rukai
637a0883e7 Handle resize in the triangle example 2019-05-13 20:57:49 +10:00
Dzmitry Malyshau
540451a66d Fix cbindgen macro expansion and CI 2019-05-10 21:55:09 -04:00
Dzmitry Malyshau
5eda162748 Readme update 2019-05-10 20:40:42 -04:00
Dzmitry Malyshau
6ce9cbd679 Remove Rust wrapper and examples 2019-05-10 20:40:42 -04:00
Rukai
16cc03be31 Update deps + upgrade examples to rust 2018 2019-05-07 22:38:41 +10:00
Dzmitry Malyshau
6ac666a5aa Introduce ClientFactory 2019-04-30 15:37:46 -04:00
Dzmitry Malyshau
61fca00f34 Remove wgpu-bindings in favor of configuration scripts 2019-04-30 12:45:05 -04:00
Dzmitry Malyshau
0011d9f4ff Global manager for instance names on the remote client 2019-04-30 09:19:40 -04:00
Dzmitry Malyshau
52ee3e019c Remote example and improved header, tested on CI 2019-04-29 22:41:09 -04:00
Alexis Sellier
c468840eee
Support dynamic offsets
Closes #125

* Add support for dynamic offsets when setting a bind group.
* Add new binding types: `UniformBufferDynamic` and `StorageBufferDynamic`
2019-04-26 22:20:54 +02:00
Atul Bhosale
af38d79d79
Format code using 'cargo fmt' 2019-04-26 22:01:47 +05:30
bors[bot]
993293f709 Merge #127
127: Track async mapping properly r=grovesNL,swiftcoder a=kvark

Fixes #117, fixes #95, fixes #132 

The change can be logically split into 3 parts:
  1. when `ActiveSubmission` is retired, we now move the mapped buffers into the "ready to map" vector. This was the missing bit that caused mapping to not work previously.
  2. mapping callbacks in Rust wrapper are refactored and they `unmap()` automatically now on users behalf
  3. we wait for idle before destroying the device, which allows us to process all the pending callbacks. This fix gets rid of the dummy submission our compute example used to do.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-04-25 13:36:59 +00:00
Dzmitry Malyshau
41141b1ae0 Wait for fences instead of device idle 2019-04-24 22:42:49 -04:00
psincf
e70b01ccc0
Fix winit event loop in the triangle example 2019-04-22 22:59:25 +02:00
Dzmitry Malyshau
1f4d67aeb2 Track async mapping properly 2019-04-22 13:57:35 -04:00
Dzmitry Malyshau
a3ffa7072a Fix the triangle examples 2019-03-31 20:03:24 -04:00
Dzmitry Malyshau
2ca7fd5077 Fix winit swapchain sizes in examples 2019-03-24 23:50:26 -04:00
bors[bot]
cf521d6074 Merge #96
96: Add the static lifetime bound to async buffer mapping callbacks r=kvark a=aloucks

These callbacks are executed outside of the mapping function and could previously reference data that had been dropped. Related #95.

Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2019-03-23 02:21:03 +00:00
Aaron Loucks
e0811db8d4 Triage buffers prior to overwriting the submission index
This allows async buffer mapping to function when a renderpass
is also submitted on the queue. The state transition and fencing
still needs work, however.
2019-03-12 22:15:37 -04:00