Commit Graph

297 Commits

Author SHA1 Message Date
Rukai
9374d52272 Document how to run examples 2019-02-12 22:01:49 +11:00
bors[bot]
c9f4936df4 Merge #56
56: Initial compute pipeline support r=kvark a=swiftcoder

Hey, I'd love to help out with this effort, but please let me know if I'm only going to be slowing you down :)

Sample is a port of https://github.com/gfx-rs/gfx/blob/master/examples/compute/main.rs - as yet incomplete because we don't have a read-back API defined.

I'm happy to do the implementation of the read-back API, but I wanted to touch base about how you envision `mapReadAsync`/`mapWriteAsync` working in Rust. Do we introduce futures to match the webgpu spec? Or expose it in a more direct fashion.

Co-authored-by: Tristam MacDonald <swiftcoder@gmail.com>
2019-02-12 04:39:37 +00:00
Tristam MacDonald
5f0df67dcc Initial compute pipeline support 2019-02-11 19:02:18 -08:00
bors[bot]
c7cd741543 Merge #55
55: All the transfers r=grovesNL a=kvark



Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-02-07 13:20:29 +00:00
Dzmitry Malyshau
8b6eafcdca Rust and C API for transfers 2019-02-07 08:17:13 -05:00
Dzmitry Malyshau
901463d7ce native: copy_texture_to_texture 2019-02-06 09:29:21 -05:00
Dzmitry Malyshau
1b76b2b96c native: copy_texture_to_buffer 2019-02-06 09:21:12 -05:00
Dzmitry Malyshau
dc7bf3404e Refactor get_with_usage for better ergonomics 2019-02-06 09:15:57 -05:00
Dzmitry Malyshau
2f0601c92c native: implement copy buffer to buffer 2019-02-06 09:04:31 -05:00
Dzmitry Malyshau
4b1897b254 Separate module for transfer functions 2019-02-06 08:55:21 -05:00
bors[bot]
f385b787a1 Merge #53
53: Depenency gfx update to 0.1.1 r=almost_simple a=kvark

It appears that we still can't run on DX12, because it has `update_buffer` as `unimplemented!`. But at least we have the benefit of the empty backend updates.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-02-05 14:46:34 +00:00
Dzmitry Malyshau
1c95eef7a3 Depenency gfx update to 0.1.1 2019-02-05 09:45:52 -05:00
bors[bot]
8ebaae7a3f Merge #52
52: Gfx examples framework r=grovesNL a=kvark

Fixes #37 
It's not functional yet, I think it needs a proper resize event handler. We can do this incrementally.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-02-04 15:01:14 +00:00
Dzmitry Malyshau
c74f8e8db8 Cube cleanup and the new generated texture 2019-02-04 09:55:32 -05:00
Dzmitry Malyshau
8f985dd09e Fix gfx-cube example 2019-02-03 22:19:36 -05:00
Dzmitry Malyshau
d50f8199dd Buffer to texture copies 2019-02-03 21:59:35 -05:00
Dzmitry Malyshau
3ec4ff99b0 Vertex buffer description in the pipelines 2019-02-03 20:39:13 -05:00
Dzmitry Malyshau
3d47436129 rust: vertex/index binding 2019-02-03 15:51:54 -05:00
Dzmitry Malyshau
d4c8c881d0 gfx framework GLSL reading, most of the cube example 2019-02-02 22:48:53 -05:00
Dzmitry Malyshau
a735eddf81 Sampler creation support 2019-02-02 22:37:51 -05:00
Dzmitry Malyshau
ed5499d025 Basic gfx-examples framework 2019-02-02 21:02:33 -05:00
Dzmitry Malyshau
afe00aa90f Borrow temporary queus and frames on Rust side 2019-02-02 21:02:33 -05:00
bors[bot]
a2b6ec167f Merge #51
51: native: basic support for pipeine stages in barriers r=grovesNL a=kvark

It's a naive approach focused on solving the Vulkan validation errors :)

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-02-02 09:25:43 +00:00
Dzmitry Malyshau
57f0cd184f native: basic support for pipeine stages in barriers 2019-01-31 21:42:35 -05:00
bors[bot]
6c202f627c Merge #48
48: Set buffer data r=grovesNL a=kvark

Simple and limited implementation, should be sufficient for the first examples.

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-01-31 21:18:56 +00:00
Dzmitry Malyshau
55c22a0d9a Implement basic set_buffer_data 2019-01-30 15:31:06 -05:00
bors[bot]
664d9e75e5 Merge #50
50: added forgotten create_bind_group r=kvark a=porky11

I added the missing function `create_bind_group` and some important data types.
See an example [here](https://github.com/porky11/wgpu/blob/uniform-buffer-example/examples/hello_triangle_rust/main.rs). (Should work when filling the vertex buffer with useful values).

Co-authored-by: Fabio Krapohl <fabio.u.krapohl@fau.de>
2019-01-30 19:44:54 +00:00
Fabio Krapohl
c5be22a242 added forgotten create_bind_group
fixed suggestions

use `ref` in match
2019-01-30 20:35:20 +01:00
bors[bot]
3dbcdc0327 Merge #49
49: GLFW integration r=grovesNL a=kvark

This is #40 that is rebased and fixed a bit.

Co-authored-by: Joshua Groves <josh@joshgroves.com>
Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-01-24 20:10:53 +00:00
Dzmitry Malyshau
e8e5938e06 Linux support for GLFW example 2019-01-24 12:33:34 -05:00
Joshua Groves
2a47ced556 Remove examples Makefile from CI 2019-01-24 12:08:32 -05:00
Joshua Groves
3d98457eb9 Add support for GLFW on Windows 2019-01-24 12:08:32 -05:00
Joshua Groves
26f965cfbb Use CMake and update triangle example 2019-01-24 12:08:32 -05:00
Joshua Groves
05b5ee42e7 Regenerate bindings 2019-01-24 12:08:32 -05:00
Joshua Groves
af1e240655 Add macOS surface creation 2019-01-24 12:08:32 -05:00
Dzmitry Malyshau
8547b591ad Dependencies and Cargo configurations update for 0.1 2019-01-24 07:39:51 -08:00
bors[bot]
5acbf75fb8 Merge #45
45: Remove non-winit from the example r=grovesNL a=kvark

This are the follow-up fixes to #38 as suggested by the review

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-01-23 03:06:54 +00:00
Dzmitry Malyshau
edf269dbed Remove the non-winit path from the example 2019-01-22 17:10:08 -08:00
bors[bot]
742fee7e41 Merge #38
38: Draw the first triangle r=grovesNL a=kvark

- [x] vertex/index buffers
- [x] draws
- [x] bind groups
  - [x] creation
  - [x] binding
  - [x] Rust side
- [x] triangle


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-01-22 20:07:34 +00:00
Dzmitry Malyshau
2ec9d05074 Triangle example, minor corrections 2019-01-21 19:20:09 -05:00
Dzmitry Malyshau
32f7ae4f28 Basic buffer creation 2019-01-21 16:18:56 -05:00
Dzmitry Malyshau
4f939bc32f Bind group resource transitions 2019-01-21 16:18:56 -05:00
Dzmitry Malyshau
dee685aa0c native: bind groups for both compute and graphics 2019-01-21 16:18:56 -05:00
Dzmitry Malyshau
6699f4bed1 native: Abstract the binding tracker into a separate module 2019-01-21 16:18:56 -05:00
Dzmitry Malyshau
3ed4620c1f Bind compute groups if layout is matching 2019-01-21 16:18:56 -05:00
Dzmitry Malyshau
fb6a91589e native: simple bind group creation 2019-01-21 16:18:56 -05:00
Dzmitry Malyshau
64fb727bad draw methods 2019-01-21 16:18:56 -05:00
Dzmitry Malyshau
bb7fee796d get_with_usage helper 2019-01-21 16:18:56 -05:00
Dzmitry Malyshau
08cd75f38c Set vertex and index buffers 2019-01-21 16:18:56 -05:00
bors[bot]
eff92d3427 Merge #42
42: Remove glfw submodule r=nobody a=grovesNL

Fixes #41

I temporarily added a glfw submodule as part of #40 but it looks like it was mistakenly added as part of #39

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-01-21 10:15:24 +00:00