Commit Graph

274 Commits

Author SHA1 Message Date
Joshua Groves
0fbb75ea95 [rs] Expose more functions on the web backend 2020-04-18 01:04:28 -02:30
Joshua Groves
1f4b8801f5 [rs] Combine wasm_main/main and add console_log 2020-04-18 01:04:28 -02:30
Joshua Groves
c3c5d3927a [rs] Switch event loop back to ControlFlow::Poll 2020-04-18 01:04:28 -02:30
Joshua Groves
c4be28fcd9 [rs] Allow describe example to run on the web 2020-04-18 01:04:28 -02:30
Joshua Groves
095d682a5b [rs] Get shadow mostly working
Some of the implementation is still missing in Canary
2020-04-18 01:04:28 -02:30
Joshua Groves
3b8e0db62a [rs] Update to latest winit and wasm-bindgen 2020-04-18 01:04:28 -02:30
Joshua Groves
44083411d9 [rs] Only expose adapter info on native 2020-04-18 01:04:28 -02:30
Joshua Groves
654833ea56 [rs] Get capture mostly working
`File::create` isn't available on wasm, so we can't actually write the
output image anywhere unless we target something else as the file
system (e.g. local storage)
2020-04-18 01:04:28 -02:30
Joshua Groves
8f7d8cf27e [rs] Get mipmap mostly working
Subresource tracking for mip levels isn't available in Canary yet, so
we can't verify that the web example output matches native
2020-04-18 01:04:28 -02:30
Joshua Groves
c7dc1f6140 [rs] Get skybox working 2020-04-18 01:04:28 -02:30
Joshua Groves
49ef627bb0 [rs] Get cube working 2020-04-18 01:04:28 -02:30
Joshua Groves
9aedbed2eb [rs] Get boids working 2020-04-18 01:04:28 -02:30
Joshua Groves
75ec7155f1 [rs] Add web backend 2020-04-18 01:04:28 -02:30
bors[bot]
f984eb1997 [rs] Merge #259
259: Remove zerocopy and replace with bytemuck. r=kvark a=StarArawn

fixes #146 

I've removed `zerocopy` from the examples and replaced it with `bytemuck`. I ran all of the examples/tests and everything ran great in vulkan on my windows box.

Co-authored-by: StarToaster <startoaster23@gmail.com>
2020-04-17 14:11:30 +00:00
StarToaster
f2d429570c [rs] Removed zerocopy and replaced it with bytemuck. 2020-04-17 10:07:24 -04:00
bors[bot]
32cf9d22e7 [rs] Merge #256
256: Update wgpu for texture descriptor changes r=grovesNL a=kvark

Updates for https://github.com/gfx-rs/wgpu/pull/577
Detaches us from crates-io dependency (again).

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-04-14 11:30:02 +00:00
Dzmitry Malyshau
4537304571 [rs] Update wgpu for texture descriptor changes 2020-04-14 01:13:47 -04:00
bors[bot]
18a80e735f [rs] Merge #254
254: Specify expected structure for draw_indirect and draw_indexed_indirect r=kvark a=lachlansneff

~~Based on https://www.khronos.org/opengl/wiki/Vertex_Rendering#Indirect_rendering.~~ Turns out the opengl docs are wrong. Based on https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkDrawIndirectCommand.html.

Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2020-04-12 16:14:15 +00:00
Lachlan Sneff
3d7bc8c528 [rs] Fix documentation based on vulkan docs 2020-04-12 10:56:15 -04:00
bors[bot]
c3ebf3b9a3 [rs] Merge #251
251: cargo fmt the code and tweak format rules r=kvark a=chao-mu

Ran cargo fmt after removing rules per @kvark, two of which were because they needed nightly to run.

Co-authored-by: Hackpoetic <chao-mu@hackpoetic.com>
2020-04-12 12:24:30 +00:00
Lachlan Sneff
5f8ab36938 [rs] Specified expected structure for draw_indirect and draw_indexed_indirect 2020-04-11 23:33:31 -04:00
bors[bot]
77aee875b3 [rs] Merge #252
252: Typo r=grovesNL a=maghoff

Remove extra word

Co-authored-by: Magnus Hoff <maghoff@gmail.com>
2020-04-11 12:59:28 +00:00
Magnus Hoff
61159e6831 [rs] Typo
Remove extra word
2020-04-11 13:09:45 +02:00
Hackpoetic
fb87e4fa84 [rs] add missing rust format config 2020-04-11 00:05:18 -04:00
Hackpoetic
1927fe6586 [rs] cargo fmt the code and tweak format rules 2020-04-10 22:56:24 -04:00
Igor Shaposhnik
877e0016eb [rs] Migrate CI to GitHub Actions 2020-04-10 10:59:21 -04:00
bors[bot]
bea1935c75 [rs] Merge #249
249: Derive `Default` for `CommandEncoderDescriptor` r=kvark a=grovesNL

Fixes #243

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2020-04-09 13:29:16 +00:00
bors[bot]
20ce74df41 [rs] Merge #245
245: Check `cargo doc` in CI r=kvark a=hecrj

This PR makes CI run `cargo doc` using the latest nightly.

It is currently panicking here:

6dee5f1126/src/librustdoc/passes/mod.rs (L411)

I thought it was an incorrect link causing it, but the issue seems to persist even after fixing the link.

__Update__: Issue opened upstream by @grovesNL (https://github.com/rust-lang/rust/issues/70874).

Co-authored-by: Héctor Ramón Jiménez <hector0193@gmail.com>
2020-04-09 04:18:15 +00:00
Héctor Ramón Jiménez
546f9e31a5 [rs] Fix RenderPass::set_vertex_buffer doc link 2020-04-09 06:07:20 +02:00
Héctor Ramón Jiménez
359f80dec3 [rs] Check cargo doc in CI 2020-04-09 06:07:17 +02:00
Joshua Groves
0fb2e78651 [rs] Derive Default for CommandEncoderDescriptor 2020-04-09 00:55:45 -02:30
bors[bot]
d1efc5d028 [rs] Merge #241
241: Version bump to 0.5 r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-04-06 13:55:34 +00:00
Dzmitry Malyshau
de89c89627 [rs] Version bump to 0.5 2020-04-06 09:10:28 -04:00
bors[bot]
17e8c6f1f2 [rs] Merge #236
236: Update to wgpu-core with Option<Id> r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-04-05 03:33:29 +00:00
Dzmitry Malyshau
ebe7c27e8c [rs] Update to wgpu-core with Option<Id> 2020-04-04 23:32:37 -04:00
bors[bot]
5b6754eecb [rs] Merge #234
234: Implement Send and Sync for BufferReadMapping and BufferWriteMapping r=kvark a=Healthire



Co-authored-by: William Lundstedt <walundstedt@gmail.com>
2020-04-03 13:03:47 +00:00
William Lundstedt
87f2f3658d [rs] Implement Send and Sync for BufferReadMapping and BufferWriteMapping 2020-04-03 14:59:09 +02:00
bors[bot]
8452a76854 [rs] Merge #232
232: Update to latest wgpu, duplicate RequestAdapterOptions r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-04-02 04:30:05 +00:00
Dzmitry Malyshau
0f279c54bc [rs] Update to latest wgpu, duplicate RequestAdapterOptions 2020-04-02 00:29:24 -04:00
Dzmitry Malyshau
7ff7eb2f22 [rs] Change NDC Y axis 2020-03-30 09:36:36 -04:00
Joshua Groves
2ebde4bb9d [rs] Default to MSVC on Windows 2020-03-30 07:58:06 -04:00
Joshua Groves
3ad0453ad9 [rs] Update to latest wgpu 2020-03-30 07:58:06 -04:00
Joshua Groves
652c7242fb [rs] Avoid array indexing in hello-triangle 2020-03-30 07:58:06 -04:00
Lucas Kent
ef1e47216e [rs] Move multithreaded_compute.rs into hello-compute tests (#223)
Setup hello-compute tests to run during `cargo test`
2020-03-29 19:55:39 -04:00
aloucks
66243f12c9 [rs] Add VertexStateDescriptor (#221)
The vertex state properties are now bundled in the VertexStateDescriptor
which matches the spec.

Fixes #220
2020-03-28 10:45:18 -04:00
bors[bot]
49bcef0516 [rs] Merge #214
214: Rewrite GpuFuture to avoid blocking and to use less space r=kvark a=lachlansneff

Since `GpuFuture` doesn't blocking wait for the mapping to resolve anymore, we need to poll the device for it to actually work. ~~I haven't added that to the `hello-compute` example, so it doesn't work anymore.~~

Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2020-03-27 04:18:29 +00:00
Lachlan Sneff
d4b59f8e2e [rs] Rewrite GpuFuture to avoid blocking and to use less space
Remove odd patching matching

Replace std::sync::Mutex with spin::Mutex in GpuFuture

Reduce GpuFuture usage to one explicit allocation instead of two

Fix examples to poll the device in the background when using map_read or map_write

Remove device.poll from GpuFuture::poll and document future invariants

Massively simplify examples

Use Arc::clone(...) instead of arc.clone()

Switch println to log::info
2020-03-27 00:16:35 -04:00
bors[bot]
25f70dc78a [rs] Merge #213
213: Cleanup user-interface around async buffer mapping r=grovesNL a=lachlansneff

This PR cleans up the interface for asynchronous buffer mapping a little. It turns `map_read` and `map_write` into `async` functions (instead of returning `impl Future<...>`). It also adds a standin error type and removes some confusing type aliases.

Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2020-03-27 00:12:20 +00:00
bors[bot]
82583e3749 [rs] Merge #219
219: Update Zerocopy to 0.3 r=kvark a=cwfitzgerald

In an effort to eliminate duplicate dependencies, especially on the proc-macro/syn stack, this updates zerocopy 0.2 (using syn 0.6) to zerocopy 0.3 (using syn 1). There appears to be no real api changes based on my skimming of the docs. Things compile on my windows machine, and hopefully it will pass on mac and linux.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-03-26 17:58:55 +00:00
Connor Fitzgerald
7deefae6d9 [rs] Update zerocopy to 0.3 2020-03-26 13:22:44 -04:00