Commit Graph

296 Commits

Author SHA1 Message Date
Dzmitry Malyshau
879cd64b30 Texture view creation in Rust and the example 2018-10-26 12:04:20 -04:00
Dzmitry Malyshau
1137ad2f70 native: Texture view creation 2018-10-26 11:47:01 -04:00
Dzmitry Malyshau
ef4ee9c29d Expose create_texture in Rust 2018-10-25 22:35:52 -04:00
Dzmitry Malyshau
de4f2b70eb Framebuffer creation and actual begin_render_pass 2018-10-25 22:29:27 -04:00
Dzmitry Malyshau
08a1bd4bc7 Render pass creation 2018-10-25 17:32:57 -04:00
bors[bot]
23e32b41a0 Merge #23
23: State transitions for a render pass r=grovesNL a=kvark

This PR introduces a simple resource tracker, which is used to build the pipeline barriers gluing the main command buffer with the one composed for the render pass contents. Render passes are still not started properly, blocked on the W3C discussion about the parameters.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2018-10-23 14:54:10 +00:00
Dzmitry Malyshau
32b92afa5c Root Makefile 2018-10-22 12:01:42 -04:00
Dzmitry Malyshau
0cad1f5d56 Basic texture transitions 2018-10-19 12:31:36 -04:00
Dzmitry Malyshau
b27650bfcd Buffer transitions for a render pass 2018-10-19 12:07:07 -04:00
Dzmitry Malyshau
f9cd55ed59 Share use_xxx implementations in the tracker 2018-10-19 10:50:59 -04:00
Dzmitry Malyshau
0fca6930d9 Basic resource tracking 2018-10-19 10:34:19 -04:00
Dzmitry Malyshau
5462690c4a Chain multiple native command buffers per logical one 2018-10-18 16:27:35 -04:00
bors[bot]
bcf51a60c6 Merge #21
21: Use pointers for descriptors r=kvark a=grovesNL

(Mostly) fixes #20

I didn't try to handle the remote case yet, but it will need serialization as we mentioned.

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-10-12 14:20:17 +00:00
Joshua Groves
277bef37c7 Minor refactor 2018-10-11 23:56:56 -06:00
Joshua Groves
90e04cbe75 c: Update signatures 2018-10-11 23:45:24 -06:00
Joshua Groves
7575652545 rust: Update signatures 2018-10-11 23:45:00 -06:00
Joshua Groves
4126241fff Use references for descriptors 2018-10-11 23:34:00 -06:00
bors[bot]
230cf01ae2 Merge #19
19: Texture creation r=kvark a=grovesNL



Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-10-08 22:47:42 +00:00
Joshua Groves
897c5b9e86 Add texture creation to C example 2018-10-07 09:22:24 -06:00
Joshua Groves
b2ec3233b0 Update header 2018-10-06 22:37:36 -06:00
Joshua Groves
6fb3b06303 Add rendy and create textures 2018-10-06 22:27:02 -06:00
Joshua Groves
45c5709b1d Map usage flags 2018-10-06 22:26:28 -06:00
Joshua Groves
beac74c481 Map texture dimension and size 2018-10-06 22:26:28 -06:00
bors[bot]
1855e22d0c Merge #18
18: Compute resource binding r=grovesNL a=kvark

Again, this isn't complete/usable yet, blocked by https://github.com/gpuweb/gpuweb/pull/93
But we can merge and move forward.

Co-authored-by: Dzmitry Malyshau <kvark@mozilla.com>
2018-10-03 11:29:47 +00:00
Dzmitry Malyshau
744a64f7fd Regenerated C header 2018-10-03 07:29:18 -04:00
Dzmitry Malyshau
444da40484 rust: compute resource binding 2018-10-02 21:41:10 -04:00
Dzmitry Malyshau
45def95763 native: basic compute resource binding 2018-10-02 21:41:10 -04:00
Dzmitry Malyshau
c7bb1b453e native: use iterators for descriptor set layouts 2018-10-02 21:41:10 -04:00
Dzmitry Malyshau
dd681d2c77 Compute dispatch call 2018-10-02 21:41:10 -04:00
bors[bot]
15883ab21c Merge #17
17: Registry major refactor and compute passes r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvark@mozilla.com>
2018-10-02 19:08:47 +00:00
Dzmitry Malyshau
a00c23e350 Basic compute passes on Rust side 2018-10-02 12:32:39 -04:00
Dzmitry Malyshau
1752754489 Modularize the registry 2018-10-02 12:31:02 -04:00
Dzmitry Malyshau
d713f3e380 Consolidate all the registries together 2018-10-02 12:18:54 -04:00
Dzmitry Malyshau
1fd05608fb native: compute pass boilerplate 2018-10-02 11:43:26 -04:00
bors[bot]
69df9c4eae Merge #16
16: [WIP] render pass begin/end r=grovesNL a=kvark

Depends on https://github.com/gpuweb/gpuweb/pull/91 and https://github.com/gpuweb/gpuweb/pull/92

Co-authored-by: Dzmitry Malyshau <kvark@mozilla.com>
2018-10-01 18:14:00 +00:00
Dzmitry Malyshau
e4341603d7 Keep a reference to DeviceID in the command buffer 2018-10-01 11:41:55 -04:00
Dzmitry Malyshau
da95fe6b1e Rust side render pass begin/end 2018-10-01 10:11:44 -04:00
Dzmitry Malyshau
71b170979d render pass begin/end 2018-10-01 09:49:34 -04:00
bors[bot]
6b940bc446 Merge #15
15: Render pipeline states for Rust layer and example r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvark@mozilla.com>
2018-09-29 02:17:54 +00:00
Dzmitry Malyshau
62f5fc480d Render pipeline states for Rust layer and example 2018-09-28 21:57:49 -04:00
bors[bot]
3c905fd706 Merge #14
14: Begin and finish command buffers r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <kvark@mozilla.com>
2018-09-28 18:35:19 +00:00
Dzmitry Malyshau
47edd4564a Begin and finish command buffers 2018-09-28 11:35:31 -04:00
bors[bot]
e5d4f9e04d Merge #11
11: Add render pipeline creation r=kvark a=grovesNL

~~WIP~~

~~Let me know if you have any ideas to address my `TODO`s as I work through it 😃~~

- Added render pipeline creation
- Updated example
- Reworked how mutex guard is managed for registries

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-09-28 14:46:18 +00:00
Joshua Groves
3975320543 Run cargo fmt 2018-09-28 07:21:07 -06:00
Joshua Groves
241aef131a Move register inside guard 2018-09-28 07:16:42 -06:00
Joshua Groves
eb80057e11 Fix C example name 2018-09-28 00:35:41 -06:00
Joshua Groves
c8a60c780c Refactor after rebase 2018-09-28 00:31:09 -06:00
Joshua Groves
e3d7fda9c7 Simplify registry access 2018-09-28 00:13:11 -06:00
Joshua Groves
aab17db5a1 Map rest of render pipeline descriptor 2018-09-28 00:08:44 -06:00
Joshua Groves
9ef70b8246 Add bind group layout 2018-09-28 00:04:47 -06:00