Commit Graph

2761 Commits

Author SHA1 Message Date
bors[bot]
fbff46dc8f [rs] Merge #197
197: Update for the latest spec changes r=grovesNL a=kvark

Blocked on https://github.com/gfx-rs/wgpu/pull/518

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-03-15 18:41:29 +00:00
mitchmindtree
ebf97c2843 [rs] Derive Hash and PartialEq for unique identifier wrapper types
This is particularly useful downstream for distinguishing between
instances of these types.

I was unsure about `Device` as I noticed it has a `Temp` field that
looks like it might eventually store some non-PartialEq/Hash-friendly
fields.

Let me know if you'd like me to add a derive for `Device` or if there
are any issues with those I have updated.
2020-03-15 18:43:16 +01:00
Dzmitry Malyshau
fa0485f03f [rs] Update for the latest spec changes 2020-03-15 11:25:06 -04:00
bors[bot]
39f17e5075 Merge #516
516: Move more shared types into wgpu-types r=kvark a=grovesNL



Co-authored-by: Joshua Groves <josh@joshgroves.com>
2020-03-15 02:01:36 +00:00
Joshua Groves
b58c15815b Move more shared types into wgpu-types 2020-03-14 23:08:05 -02:30
bors[bot]
e4df6ee288 Merge #518
518: Wholesome spec update r=grovesNL a=kvark

Addresses https://github.com/gfx-rs/wgpu-rs/issues/196
Biggest change is that buffer binding is done one by one. There is a number of renamings of the fields, also the binding types are expanded.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-03-14 16:45:33 +00:00
Dzmitry Malyshau
26657374f8 Update vertex layout naming 2020-03-14 12:44:04 -04:00
Dzmitry Malyshau
095f320470 Wholesome spec update.
Biggest change is that buffer binding is done one by one. There is a number of renamings of the fields, also the binding types are expanded.
2020-03-13 23:59:05 -04:00
bors[bot]
a74de20ac6 Merge #514
514: Move some types into shared wgpu-types crate r=kvark a=grovesNL

As we discussed a while ago, we need to be able to share some types between wgpu-core/wgpu-native/wgpu-remote/wgpu-rs.

The problem is that we want to avoid a dependency on wgpu-core and wgpu-native when building [wgpu-rs for the wasm32-unknown-unknown target](https://github.com/gfx-rs/wgpu-rs/issues/101). We can avoid this by moving all shared types into a separate crate which is exposed on all targets.

Let me know if we should use some other approach or organize the types somehow. This isn't complete yet, but it might be easier to integrate this over several PRs instead of diverging my branch too far.

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2020-03-11 03:07:17 +00:00
Joshua Groves
24caf76765 Rename serde feature 2020-03-10 23:19:45 -02:30
Joshua Groves
9940aef599 Move some types into shared wgpu-types crate 2020-03-10 22:36:23 -02:30
bors[bot]
16855f6a7c [rs] Merge #192
192: Explicitly declare vertex attribute descriptors in cube example r=kvark a=aloucks

The new `vertex_attr_array!` macro is pretty wonderful, but it's nice to have at least one reference example of how `VertexAttributeDescriptor`s are constructed. 

Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2020-03-08 23:37:25 +00:00
Aaron Loucks
738653d1fe [rs] Explicitly declare vertex attribute descriptors in cube example 2020-03-07 23:37:32 -05:00
Dzmitry Malyshau
a332377222 [rs] Add grr-2d 2020-03-06 11:38:54 -05:00
bors[bot]
79e9ab748d Merge #512
512: Add PresentMode::Mailbox r=kvark a=aloucks

@kvark 

Would you be open to renaming the presents modes to match the vulkan/gfx-hal nomenclature? Considering these aren't part of the webgpu spec, I think it would make more sense to keep things consistent.

I can update this PR if you're good with it.

```rust
pub enum PresentMode {
    /// The presentation engine does **not** wait for a vertical blanking period and 
    /// the request is presented immediately. This is a low-latency presentation mode,
    /// but visible tearing may be observed. Will fallback to `Fifo` if unavailable on the
    /// selected  platform and backend. Not optimal for mobile. 
    Immediate = 0,
    /// The presentation engine waits for the next vertical blanking period to update
    /// the current image, but frames may be submitted without delay. This is a low-latency 
    /// presentation mode and visible tearing will **not** be observed. Will fallback to `Fifo`
    /// if unavailable on the selected platform and backend. Not optimal for mobile.
    Mailbox = 1,
    /// The presentation engine waits for the next vertical blanking period to update 
    /// the current image. The framerate will be capped at the display refresh rate, 
    /// corresponding to the `VSync`. Tearing cannot be observed. Optimal for mobile.
    Fifo = 2,
}
```

Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2020-03-06 15:04:41 +00:00
Aaron Loucks
fe95fddf5a Use vulkan nomenclature for PresentMode variants
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkPresentModeKHR.html
2020-03-06 00:48:45 -05:00
Dzmitry Malyshau
ae045edcb6 [rs] Add nannou to the friends list 2020-03-05 23:45:24 -05:00
Aaron Loucks
051d08424c Add PresentMode::Mailbox 2020-03-05 18:19:18 -05:00
bors[bot]
2388007d1a [rs] Merge #189
189: Reexport Backend and DeviceType from wgpu-core r=kvark a=aloucks

These types are exposed on the `AdaptorInfo` struct.

Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2020-03-05 15:02:13 +00:00
Aaron Loucks
b2e70cc3d3 [rs] Reexport Backend and DeviceType from wgpu-core
These types are exposed on the `AdaptorInfo` struct.
2020-03-04 22:22:26 -05:00
bors[bot]
584c9d7554 Merge #509
509: Bug 1614703 - WebGPU render pipeline creation r=jgilbert,webidl,baku r=gecko a=kvark

Differential Revision: https://phabricator.services.mozilla.com/D64833

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/e01862df6ba32a18826fe6c2e38e4a57dad3e338

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-03-04 04:04:49 +00:00
Dzmitry Malyshau
cfe000ce23 Bug 1614703 - WebGPU render pipeline creation r=jgilbert,webidl,baku
Differential Revision: https://phabricator.services.mozilla.com/D64833

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/e01862df6ba32a18826fe6c2e38e4a57dad3e338
2020-03-03 23:00:43 -05:00
bors[bot]
40889df58f Merge #507
507: Update logo and move bindings section r=kvark a=grovesNL

- Adjust the logo slightly
- Move the bindings section up slightly to hopefully reduce confusion for users coming to gfx-rs/wgpu looking for the Rust bindings (gfx-rs/wgpu-rs)
  - Also added some experimental Julia bindings
  - Open to other ideas how we can improve the repository naming confusion, though long term I think we may want to adjust the naming somehow (like we talked about before the sync was setup)

[Rendered](8b19724364/README.md)

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2020-03-03 17:37:32 +00:00
bors[bot]
3cfb78d372 [rs] Merge #185
185: Update readme r=kvark a=grovesNL

Add logo and update readme text a bit (link to WASM progress, reword examples section slightly, etc.)

[Rendered](ea4bf79ff7/README.md)

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2020-03-03 17:36:51 +00:00
Joshua Groves
39072c80d4 [rs] Update readme 2020-03-03 00:34:24 -03:30
Joshua Groves
8b19724364 Update logo and move bindings section 2020-03-03 00:10:04 -03:30
bors[bot]
e09b8d58a7 [rs] Merge #184
184: added test to hello-compute example r=kvark a=emmetthebarnraiser

I wasn't exactly sure of the proper way to test async stuff, but this is a strategy that seemed to work for me. Let me know if there is anything you would like me to change, or if this isn't something that you would like to add to the examples!

Co-authored-by: Brian Frazho <befrazho@gmail.com>
2020-03-01 02:43:59 +00:00
Brian Frazho
18b2ae1935 [rs] added test to hello-compute example 2020-02-28 20:50:28 -05:00
bors[bot]
3d896d4ce1 Merge #506
506: Bug 1614702 - WebGPU textures, texture views, and samplers r=gecko a=kvark

This is a commit cherry-picked from #504


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2020-02-28 03:09:13 +00:00
Dzmitry Malyshau
7f3036449b Bug 1614702 - WebGPU textures, texture views, and samplers r=jgilbert,webidl,smaug
this change adds an ability to create WebGPU textures, views, and samplers

Differential Revision: https://phabricator.services.mozilla.com/D63595

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/7d59549f2fda3aed3927ab49b940d9024e161798
2020-02-27 12:50:54 -05:00
bors[bot]
609b745153 [rs] Merge #183
183: Expose `enumerate_adapters`. r=kvark a=daxpedda

Depends on gfx-rs/wgpu#505.

Use case was to give end user the ability to choose which GPU to use for an application.

Co-authored-by: daxpedda <daxpedda@gmail.com>
2020-02-27 12:36:40 +00:00
daxpedda
f77ce1bec1 [rs] Update wgpu dependency. 2020-02-27 00:45:02 +01:00
bors[bot]
429ca1d446 Merge #505
505: Expose `Global::enumerate_adapters`. r=kvark a=daxpedda

Expose `enumerate_adapters` to use it in `wgpu-rs`.
Issue was that directly accessing `wgpu-core` wasn't possible because an instantiation of `Global` was needed.

Co-authored-by: daxpedda <daxpedda@gmail.com>
2020-02-26 22:34:40 +00:00
daxpedda
d584105943 [rs] Expose enumerate_adapters. 2020-02-26 16:35:31 +01:00
daxpedda
498176a8a0 Expose Global::enumerate_adapters. 2020-02-26 16:30:29 +01:00
Dzmitry Malyshau
132b67898f [rs] Add oxidator to the readme 2020-02-22 22:28:14 -05:00
bors[bot]
153c7f3f08 Merge #501
501: Update WebGPU to mozilla-central from hg rev 0f1a8e4c6a76b3b0b16902c7fdfe2356c60ca351 r=kvark a=staktrace

This merge commit should get tagged as `mozilla-0f1a8e4c6a76b3b0b16902c7fdfe2356c60ca351`.

Co-authored-by: Kartikaya Gupta <kgupta@mozilla.com>
mozilla-0f1a8e4c6a76b3b0b16902c7fdfe2356c60ca351
2020-02-20 20:53:27 +00:00
Kartikaya Gupta
b5ba17012a Update WebGPU to mozilla-central from hg rev 0f1a8e4c6a76b3b0b16902c7fdfe2356c60ca351 2020-02-20 15:49:32 -05:00
bors[bot]
f387fbb310 [rs] Merge #181
181: Fix vertex_attr_macro self invocation paths r=kvark a=kvark

Follow-up to #179 
cc @dhardy 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-02-20 18:11:09 +00:00
Dzmitry Malyshau
5490914f19 [rs] Fix vertex_attr_macro self invocation paths 2020-02-20 13:10:14 -05:00
bors[bot]
dabdd8ee52 [rs] Merge #179
179: Add vertex_attr_array macro r=kvark a=dhardy

Specifying `VertexAttributeDescriptor` arrays is tedious, and for no good reason. This PR adds a macro to do the job.

All examples tested. Documentation is short but better than the standard for this crate I feel. 😉



Co-authored-by: Diggory Hardy <git@dhardy.name>
2020-02-20 14:38:46 +00:00
Diggory Hardy
028be69693 [rs] Add vertex_attr_array macro 2020-02-20 09:32:38 +00:00
bors[bot]
4f937c04e1 Merge #497
497: Catch swapchain output being dropped too early r=kvark a=kvark

Prevents a common case where the swapchain frame is dropped before the submission. This is not comprehensive yet, but it should be helpful.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-02-19 03:58:24 +00:00
Dzmitry Malyshau
023ce7f6c8 Catch swapchain output being dropped too early 2020-02-18 22:57:12 -05:00
bors[bot]
d85f8030c2 [rs] Merge #177
177: wgpu update with DynamicOffset r=trivial a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-02-17 02:50:43 +00:00
Dzmitry Malyshau
069d7cdc98 [rs] wgpu update with DynamicOffset 2020-02-16 21:49:56 -05:00
bors[bot]
f2323f2b23 Merge #495
495: Fix binding compatibility of an absent group r=kvark a=kvark

Fixes #494 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-02-17 01:21:22 +00:00
Dzmitry Malyshau
a0759b983d Fix binding compatibility of an absent group 2020-02-16 20:17:53 -05:00
Dzmitry Malyshau
917e29754b [rs] Add Conrod to the friends list 2020-02-12 02:50:27 +01:00
bors[bot]
a048f5e5d5 Merge #492
492: Encode render targets into the render pass blob r=grovesNL a=kvark

Fixes #454

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-02-11 12:58:14 +00:00