Commit Graph

838 Commits

Author SHA1 Message Date
Joshua Groves
f3bb6eb230 Move more types to wgpu-types 2020-03-27 23:26:17 -02:30
bors[bot]
6d7eca94be Merge #539
539: Parking lot update to 0.10 r=kvark a=kvark

That allows us to remove some of the duplicated dependencies.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-03-27 14:43:21 +00:00
Dzmitry Malyshau
4b69b4257f Parking lot update to 0.10 2020-03-27 10:42:18 -04:00
bors[bot]
caf7be0d73 Merge #536
536: Update Support Platforms Table to Have a Key r=kvark a=cwfitzgerald

Closes #531 

I have added wording that I believe is accurate, but if there is better wording, feel free to propose it.

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2020-03-27 13:43:26 +00:00
Connor Fitzgerald
43618e4101 Update Support Platforms table to have a key 2020-03-27 02:59:39 -04:00
bors[bot]
2f00710832 Merge #537
537: Port to gfx-extras and gfx-hal-0.5 r=kvark a=kvark

blocked on publishing gfx-extras

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-03-27 04:54:40 +00:00
Dzmitry Malyshau
2e9610e8c9 Request NDC_Y_FLIP feature 2020-03-27 00:54:01 -04:00
Dzmitry Malyshau
8aeeb8e318 Port to gfx-extras and gfx-hal-0.5 2020-03-27 00:54:01 -04:00
bors[bot]
8d8f68418b Merge #538
538: Unbox unnecessarily boxed function r=kvark a=lachlansneff

Internally, the async buffer mapping callbacks were unnecessarily boxed. This was pretty easy to fix.

Co-authored-by: Lachlan Sneff <lachlan.sneff@gmail.com>
2020-03-27 03:07:34 +00:00
Lachlan Sneff
bcd7744c5b Unbox unnecessarily boxed function 2020-03-26 22:38:50 -04:00
bors[bot]
86981d9a80 Merge #528
528: Add buffer debug labels r=kvark a=aloucks

Related #404 

@kvark Is this what you had in mind? The webgpu headers have labels on all the descriptor structs and I didn't see any specific functions for altering/adding labels after creation. I'll add the rest if this looks good to you. 

I also went looking for [command buffer marker support](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/chap41.html#debugging-command-buffer-markers) in [gfx-hal](https://docs.rs/gfx-hal/0.4.1/gfx_hal/command/trait.CommandBuffer.html) so that I could add [group labels and markers](https://gpuweb.github.io/gpuweb/#dom-gpuprogrammablepassencoder-pushdebuggroup).  Is this functionality absent in `hal` or did I miss it?





Co-authored-by: Aaron Loucks <aloucks@cofront.net>
2020-03-27 00:27:52 +00:00
Aaron Loucks
d64670aab1 Use ptr::null for default label 2020-03-26 20:26:03 -04:00
Aaron Loucks
fdcf9e7067 Add inital debug labels
- bind group
- bind group layout
- command encoder
- texture
2020-03-24 19:43:11 -04:00
Aaron Loucks
2700d1cc15 Add buffer debug labels 2020-03-24 19:38:07 -04:00
aloucks
e39aaa9cb3 Implement PartialEq, Eq, and Hash for more types (#535) 2020-03-24 19:29:18 -04:00
Dzmitry Malyshau
5e2f200223 Track GPU use of compute and render pipelines (#534) 2020-03-24 19:28:26 -04:00
Dzmitry Malyshau
0a30cf4b46 Recycled identity management (#533) 2020-03-24 19:18:42 -04:00
Dzmitry Malyshau
272e423a5c Improve shutdown cleanup (#532) 2020-03-24 18:03:25 -04:00
bors[bot]
bf9e2db4b3 Merge #527
527: Add `Clone` and `PartialEq` implementations for `SamplerDescriptor` r=kvark a=mitchmindtree

Helps when attempting to support multiple samplers in an immediate mode
context (e.g. easily compare sampler descriptors and check if I need to
add a command to switch bind groups).

Co-authored-by: mitchmindtree <mitchell.nordine@gmail.com>
2020-03-22 20:25:48 +00:00
mitchmindtree
cce9d7a3f7 Add Clone and PartialEq implementations for SamplerDescriptor
Helps when attempting to support multiple samplers in an immediate mode
context (e.g. easily compare sampler descriptors and check if I need to
add a command to switch bind groups).
2020-03-19 19:44:11 +01:00
bors[bot]
08e8d406c1 Merge #526
526: Expose more copy commands to the wgpu-remote r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-03-18 12:51:19 +00:00
Dzmitry Malyshau
481b0db24d Expose more copy commands to the wgpu-remote 2020-03-17 18:57:23 -04:00
bors[bot]
d3e47fc5ae Merge #521
521: Texture component type r=kvark a=kvark

Matching the upstream spec...

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-03-17 16:58:34 +00:00
bors[bot]
f836db800a Merge #525
525: Add `Clone` and `PartialEq` derives for `Texture(View)Descriptor` r=kvark a=mitchmindtree

I've come across use cases for these in nannou so thought I would add
them!

Co-authored-by: mitchmindtree <mitchell.nordine@gmail.com>
2020-03-17 13:03:02 +00:00
mitchmindtree
f00ab00ad9 Add derive PartialEq to Extent3d 2020-03-17 13:05:13 +01:00
mitchmindtree
29d731f902 Add Clone and PartialEq derives for Texture(View)Descriptor
I've come across use cases for these in nannou so thought I would add
them!
2020-03-17 12:53:13 +01:00
bors[bot]
9c33efaad2 Merge #523
523: Move more types into wgpu-types r=kvark a=grovesNL



Co-authored-by: Joshua Groves <josh@joshgroves.com>
2020-03-17 03:07:50 +00:00
Joshua Groves
b9259c0c8c Move more types into wgpu-types 2020-03-16 23:57:50 -02:30
bors[bot]
74bfc73158 Merge #522
522: Include `wgpu-types` in list of crates r=kvark a=grovesNL



Co-authored-by: Joshua Groves <josh@joshgroves.com>
2020-03-16 20:30:34 +00:00
Joshua Groves
db858dd89e Include wgpu-types in list of crates 2020-03-16 15:58:31 -02:30
Dzmitry Malyshau
c4e3fb4d36 Add texture component type field to BGL entry 2020-03-16 12:02:26 -04:00
bors[bot]
75fdfc0ef7 Merge #520
520: Update naming of bindings to entries r=kvark a=kvark

Matches https://github.com/gpuweb/gpuweb/pull/611

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-03-16 14:07:42 +00:00
Dzmitry Malyshau
7f966be455 Update naming of bindings to entries 2020-03-16 10:06:54 -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]
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
Aaron Loucks
051d08424c Add PresentMode::Mailbox 2020-03-05 18:19:18 -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
Joshua Groves
8b19724364 Update logo and move bindings section 2020-03-03 00:10:04 -03:30
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