Commit Graph

449 Commits

Author SHA1 Message Date
bors[bot]
417b01d1e5 [rs] Merge #455
455: Fix early logging in the examples r=kvark a=yzsolt

Fix early logging in the examples by moving logger initialization from `start` into `setup`.

Note: I haven't actually checked this on the WASM target, but it should probably be fine.

Co-authored-by: Zsolt Bölöny <bolony.zsolt@gmail.com>
2020-07-20 00:24:44 +00:00
Gabriel Majeri
08182d14bf [rs] Implement more derives for Operations (#450)
* Implement more derives for `Operations`

* Use `trace` / `replay` features for serialization

* Set `store` to default
2020-07-19 20:20:45 -04:00
Zsolt Bölöny
ece80019f8 [rs] Move logger init earlier in the example framework 2020-07-19 22:41:27 +02:00
bors[bot]
d1dea85944 [rs] Merge #447
447: Remove Lifetimes from Push Constants r=kvark a=cwfitzgerald

This is sound because for render passes, compute passes, and render bundles we immediately copy the data into an internal buffer then refer to the data by offset into the buffer.

This also cleans up the example a bit as we don't need the array to outlive the statement.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-17 19:13:22 +00:00
Connor Fitzgerald
d0bd56cb07 [rs] Remove Lifetimes from Push Constants 2020-07-17 14:52:33 -04:00
bors[bot]
0c74c0348e [rs] Merge #443
443: Implement typical Error traits for SwapChainError r=kvark a=DasEtwas

Added Display and Error implementation for SwapChainError, imported Display and Error more nicely for the existing errors.

Co-authored-by: DasEtwas <18222134+DasEtwas@users.noreply.github.com>
2020-07-16 23:56:28 +00:00
DasEtwas
88ab8aba86 [rs] added Display and Error implementation for SwapChainError, imported Display and Error more nicely 2020-07-16 23:46:10 +02:00
bors[bot]
9072c7ce48 [rs] Merge #439
439: Update to latest `wgpu-core` r=kvark a=GabrielMajeri

Pull in some of the latest changes from the `wgpu` repo

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-07-16 14:27:16 +00:00
bors[bot]
80c5746b65 [rs] Merge #441
441: Impl Error for Error types r=kvark a=cwfitzgerald

I believe these are the only two results the api returns.

thiserror seems like a big hammer for such a small job, especially as all wgpu-core errors are unwrapped by wgpu-rs. Lets keep doing log + error as we are now for all the rest. Keep our dep on syn off.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-16 13:25:27 +00:00
Connor Fitzgerald
90ebe377df [rs] Impl Error for Error types 2020-07-16 09:23:00 -04:00
Gabriel Majeri
8991e967fe [rs] Update to latest wgpu-core 2020-07-16 07:42:49 +03:00
bors[bot]
ee69f3c457 [rs] Merge #435
435: Implement PUSH_CONSTANTS feature r=kvark a=cwfitzgerald

The rust half of the push constant extensions, continuing from https://github.com/gfx-rs/wgpu/pull/777.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-07-13 19:44:51 +00:00
Connor Fitzgerald
857955483a [rs] Implement PUSH_CONSTANTS feature 2020-07-13 15:43:46 -04:00
bors[bot]
1066173a67 [rs] Merge #437
437: Use common types from `wgpu-types` r=kvark a=GabrielMajeri

The `wgpu-rs` counterpart to https://github.com/gfx-rs/wgpu/pull/791

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-07-13 17:41:27 +00:00
Gabriel Majeri
f41e9ea5e2 [rs] Use common types from wgpu-types 2020-07-13 20:12:27 +03:00
bors[bot]
bcd4c6c33e [rs] Merge #430
430: Unwrap errors from transfer API r=kvark a=GabrielMajeri

`wgpu-rs` part of https://github.com/gfx-rs/wgpu/pull/773

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-07-13 14:03:50 +00:00
Gabriel Majeri
c4888c1873 [rs] Unwrap errors from transfer API 2020-07-13 14:13:23 +03:00
Dzmitry Malyshau
6fe2225880 [rs] Move out the friends list 2020-07-12 21:08:40 -04:00
bors[bot]
d4efbee10a [rs] Merge #434
434: recreate swapchain on framework.rs examples on resize, ref #352 r=kvark,cwfitzgerald a=m4b

There still seem to be residual race condition like errors w.r.t. resizing on at least x11, but this does fix the panic on x11.

Co-authored-by: m4b <m4b.github.io@gmail.com>
2020-07-11 14:17:31 +00:00
m4b
5a98c1427f [rs] recreate swapchain on framework.rs examples on resize, ref #352 2020-07-10 21:30:39 -07:00
bors[bot]
118f29fa36 [rs] Merge #433
433: make env_logger a dev dependency r=kvark a=cart

env_logger is only used in examples and adds a good number of dependencies to the build tree that arent needed

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-07-11 02:27:02 +00:00
Carter Anderson
d28787f1d2 [rs] make env_logger a dev dependency 2020-07-10 12:34:03 -07:00
bors[bot]
2cd37d3fda [rs] Merge #428
428: Split render pass docs into multiple sections, divided by feature r=cwfitzgerald a=lachlansneff

This does not affect usage at all.

Here's what the docs look like:

<img width="1012" alt="Screen Shot 2020-07-09 at 11 11 30 AM" src="https://user-images.githubusercontent.com/31360811/87057532-fd974c00-c1d4-11ea-8c7f-913a893bcdef.png">


Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2020-07-09 19:01:07 +00:00
Lachlan Sneff
e5dc716a6f [rs] Split render pass docs into multiple sections, divided by feature 2020-07-09 11:06:09 -04:00
bors[bot]
b288ce0a64 [rs] Merge #426
426: wgpu dependency update with memory fixes r=trivial a=kvark

Fixes #423 (mostly!)

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-07-07 21:30:21 +00:00
Dzmitry Malyshau
8ffbcadcde [rs] wgpu dependency update with memory fixes 2020-07-07 17:29:03 -04:00
bors[bot]
362cde96a7 [rs] Merge #425
425: Update to new `wgpu-core` render pipeline API r=kvark a=GabrielMajeri

Picks up the changes from https://github.com/gfx-rs/wgpu/pull/763

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-07-07 19:31:35 +00:00
Gabriel Majeri
54d4532dae [rs] Update to new wgpu-core render pipeline API 2020-07-07 21:02:11 +03:00
bors[bot]
33afed68f6 [rs] Merge #417
417: add replay feature r=kvark a=gzp-crey

Resolves #284 

Co-authored-by: gzp-crey <gzp@creygames.com>
2020-06-29 14:46:07 +00:00
gzp-crey
73ebff129b [rs] add replay feature 2020-06-29 09:20:14 +02:00
bors[bot]
7c1f090c85 [rs] Merge #416
416: Allow trailing comma in vertex_attr_array! r=cwfitzgerald a=benfrankel



Co-authored-by: Ben Frankel <ben.frankel7@gmail.com>
2020-06-28 21:24:54 +00:00
Ben Frankel
a4c96231fe [rs] Allow trailing comma in vertex_attr_array! 2020-06-28 14:23:23 -07:00
bors[bot]
ef8edbb4bc [rs] Merge #414
414: Implement MultiDrawIndirect Extensions r=kvark a=cwfitzgerald

The wgpu-rs component of https://github.com/gfx-rs/wgpu/pull/754.

I didn't include the modifications to the example as they are particularly awful and ugly. One of my next steps following this is to make an example of both binding indexing and these multi-draw extensions.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-06-28 15:12:32 +00:00
Connor Fitzgerald
8a8ed1b705 [rs] Implement MultiDrawIndirect Extensions 2020-06-28 01:39:17 -04:00
bors[bot]
a568ae07b8 [rs] Merge #413
413: Improve docs for main crate and `hello-triangle` example r=cwfitzgerald,kvark a=GabrielMajeri

Some minor fixes for the main crate docs, as well as some comments in the `hello-triangle` example.

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-06-27 18:26:24 +00:00
Gabriel Majeri
f0f481bbda [rs] Improve hello-triangle docs 2020-06-27 21:25:22 +03:00
Gabriel Majeri
e2d072fb59 [rs] Improve crate docs 2020-06-27 21:25:19 +03:00
bors[bot]
13211508ba [rs] Merge #412
412: Convert Extensions + Capabilities into Features r=kvark a=cwfitzgerald

https://github.com/gfx-rs/wgpu/pull/751 but rusty.

Nothing much more to say about it, pretty banal.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-06-26 13:51:01 +00:00
Connor Fitzgerald
cd4baab400 [rs] Convert Extensions + Capabilities into Features 2020-06-26 01:27:57 -04:00
bors[bot]
d73d471085 [rs] Merge #408
408: Staging belt r=kyren a=kvark

Implementing the belt itself isn't too hard, but integrating it with the example framework and winit's event loop is somewhat challenging. Perhaps, there needs to be a `LocalSpawner` parameter to `render()` like I did [in vange-rs](e7bc944ef5/bin/boilerplate.rs (L26))?

Edit: code is all ready and shiny... but it does NOT work. Buffers don't come back from mapping for some reason.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
Co-authored-by: kyren <kerriganw@gmail.com>
2020-06-25 17:44:04 +00:00
kyren
aae1f216e0 [rs] A different attempt at the example framework 2020-06-25 13:13:13 -04:00
kyren
6fb12c0537 [rs] Get event loop + futures working on native, untested on web 2020-06-25 13:13:13 -04:00
bors[bot]
81a7ba6267 [rs] Merge #400
400: Added test for "capture" example r=kvark a=bfrazho

I've added a test to validate the capture example. I was planning on using the existing "screenshot.png" that was in there for the assertion for the test, but apparently was slightly different from the one that I was generating. I ended up replacing the screenshot.png with what the test was generating.

I'm a little concerned that they were different from the start, but maybe the png generating library made some small changes over time. I did check to make sure that it generated the same png on Windows and Linux on the same computer.

Let me know if there is anything that you would like me to change!

Co-authored-by: Brian <brian@linux-ccip.lan>
2020-06-24 14:46:52 +00:00
Dzmitry Malyshau
f042b4a7e9 [rs] Refactor examples API, improve belt documentation and logic 2020-06-23 23:51:47 -04:00
Dzmitry Malyshau
3397750c4d [rs] Staging belt, use LocalSpawner for the framework 2020-06-23 23:15:47 -04:00
Brian
6b4ee0d6d0 [rs] added test to validate that the capture example's png matches the screenshot.png that is in there
removed some warnings in the capture test about not handling results, and put expect messages around them

separated png logic from the rest of gpu logic in the capture example

refactored capture test to do assertion based on data rather than the output png

switched assertion for capture test to only check for red pixels instead of comparing to a raw buffer as a file

cleaned up capture example test to get rid of warnings
2020-06-23 20:24:48 -04:00
bors[bot]
24dbd6ab9e [rs] Merge #407
407: Build Docs with Nightly r=kvark a=cwfitzgerald

This builds docs with nightly by default. We use intra-doc links which is currently only supported with nightly. docs.rs also uses the latest nightly to build our code, so this will match behavior with docs.rs. I added a fallback to stable in case nightly has issues so we still have working docs.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-06-23 13:22:24 +00:00
Connor Fitzgerald
355c7662dd [rs] Build Docs with Nightly 2020-06-23 09:19:40 -04:00
bors[bot]
7db29bf773 [rs] Merge #395
395: First Phase of Tracing Transition  r=kvark a=cwfitzgerald

## Connections

This is the wgpu-rs component of https://github.com/gfx-rs/wgpu/pull/740.

## Notable Changes
- Added annotations for non-trivial wrapper functions
- Enabled building all features on docs.rs
- Took a dep on tracing.
- Fixes an assert that randomly stopped compiling.
- Added env variable WGPU_CHROME_TRACING which will be a path to the output chrome trace, if the feature is enabled.
- Added feature which corresponds directly to wgc feature.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-06-23 12:53:15 +00:00
Connor Fitzgerald
78fa7ba0a6 [rs] Add Tracing 2020-06-22 23:14:29 -04:00