Commit Graph

9013 Commits

Author SHA1 Message Date
bors[bot]
2689dfa460 [rs] Merge #125
125: Use count rather than size in map_read/write_async r=kvark a=cormac-obrien

Fixes #124.

Co-authored-by: Cormac O'Brien <cormac@c-obrien.org>
2019-11-20 15:00:15 +00:00
Cormac O'Brien
83f943cab7 [rs] Use count rather than size in map_read/write_async
Fixes #124
2019-11-20 04:29:09 -06:00
bors[bot]
fcc162a7aa [rs] Merge #122
122: Wholesome update for the git master of wgpu-native r=grovesNL a=kvark

Depends on https://github.com/gfx-rs/wgpu/pull/382

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-11-20 01:59:27 +00:00
Dzmitry Malyshau
46cead456c [rs] Wholesome update for the git master of wgpu-native 2019-11-19 20:58:32 -05:00
bors[bot]
73b33ea76e Merge #382
382: Cleanup exports r=grovesNL a=kvark

This is a follow-up to #381 that cleans up the exports, such that `wgpu-core` doesn't deal with any raw C things.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-20 01:02:41 +00:00
Dzmitry Malyshau
3908d2b5a1 Cleanup exports 2019-11-19 10:59:24 -05:00
bors[bot]
407cf69a8e Merge #378
378: Support for merged depth-stencil states r=grovesNL a=kvark

Fixes #376 
@Yatekii would you be able to test it and confirm the fix?

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-19 13:38:43 +00:00
Dzmitry Malyshau
98d28caffc Refactor internal texture tracking format 2019-11-18 22:07:15 -05:00
Dzmitry Malyshau
4e57c42c71 Initialize trackers with full selector - part 2 2019-11-18 09:20:16 -05:00
Dzmitry Malyshau
0569bc6956 Initialize trackers with full selector 2019-11-18 00:21:13 -05:00
bors[bot]
aa14f7f76d Merge #381
381: Separate Native from the Core r=grovesNL a=kvark

Fixes #379 (haven't figured out how to build remote static lib to test the example, but that's not as important at this stage, since we have Gecko).
Fixes #168 
Related to #2 and #8

This is a major refactor that moves out the core Rust API into a separate crate. It also changes the export semantics of wgpu-core in a way that the modules are exposed, and all the functionality is now represented as methods of `Global`. The "local" feature is transformed into a type system as a generic parameter `<F>` on the hubs.

Pros:
  - "local" feature is gone
  - we can change the core API more often, this doesn't necessarily require the `native` breaking version bump, and it would be very handy when adding Gecko-related changes
  - Gecko needs less stuff to compile (remote + core)
  - no collision of library names (native with or without the local feature)
  - less problem with crate types
  - cleaner semantics: each crate is either C or Rust, but not both

Cons:
  - more generics, I wouldn't be surprised this regresses the build times visibly

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-16 15:07:30 +00:00
Dzmitry Malyshau
6c632d1366 Separate native from the core 2019-11-16 00:36:23 -05:00
bors[bot]
f221a6592d Merge #380
380: More licenses for Gecko r=kvark a=kvark

These are all the last things we need to match Gecko, with an exception of #379 

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-15 16:53:13 +00:00
Dzmitry Malyshau
b9aed69bed More licenses for Gecko 2019-11-15 11:51:46 -05:00
bors[bot]
ae64e3aa0c Merge #375
375: Use callback for `request_adapter` r=kvark a=grovesNL

For now this is mostly a signature change which allows us to start using a callback for `request_adapter`. Once we have an event loop, the callback could be scheduled to make this asynchronous. At that point the examples and server would have to be updated, because they currently rely on the callback running immediately (inline).

The reason for this change is that `request_adapter` is supposed to return a `Promise` in JS, so we can represent it with callbacks at the C API, and `Future` in Rust (though we'll probably keep using callbacks initially).

I also changed `request_adapter` to provide an adapter with `AdapterId::ERROR` when no adapters are available, so we can add basic error handling to wgpu-rs (https://github.com/gfx-rs/wgpu-rs/issues/117).

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2019-11-08 03:41:12 +00:00
Joshua Groves
7f25b8c318 Move adapter selection into separate function 2019-11-07 21:36:48 -06:00
Joshua Groves
2b1ce5d6d9 Use callback for request_adapter 2019-11-07 09:55:27 -06:00
bors[bot]
6b19641d96 [rs] Merge #115
115: Handle error case for SwapChain::get_next_texture r=kvark a=antonok-edm

Updates `SwapChain::get_next_texture` to account for https://github.com/gfx-rs/wgpu/pull/369. Otherwise, an invalid `Id` is returned and may cause confusing errors.

Co-authored-by: Anton Lazarev <antonok35@gmail.com>
2019-11-06 03:48:03 +00:00
Anton Lazarev
569e4aca85 [rs] Handle error case for SwapChain::get_next_texture 2019-11-05 14:46:25 -08:00
Dzmitry Malyshau
f370e47910 [rs] Version bump to 0.4 2019-11-03 21:40:55 -05:00
bors[bot]
951641dcc5 Merge #373
373: Release preparations for 0.4 r=kvark a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
v0.4.0
2019-11-04 00:33:07 +00:00
bors[bot]
da78dbd9ea [rs] Merge #114
114: skybox: log::debug and make rotation slower r=kvark a=m4b



Co-authored-by: m4b <m4b.github.io@gmail.com>
2019-11-04 00:21:36 +00:00
m4b
6a8ffdc60a [rs] skybox: log::debug and make rotation slower 2019-11-03 16:19:43 -08:00
Dzmitry Malyshau
9ffcbe5f9d Release preparations 2019-11-03 18:52:57 -05:00
msiglreith
65c9326b22 Shader from raw IL 2019-11-03 17:38:52 +01:00
bors[bot]
e92e4d94d4 [rs] Merge #109
109: add initial skybox example, ref #93 r=m4b a=m4b

1. doesn't render the images at all
2. mip map stuff needs clarification
3. will update uniform with temporal rotation so we can see the skybox better

Co-authored-by: m4b <m4b.github.com@gmail.com>
2019-11-03 07:08:43 +00:00
m4b
e8515ca9cc [rs] docs: add skybox.gif to readme gallery 2019-11-03 00:05:10 -07:00
m4b
3cb66f6292 [rs] examples: add skybox example, fixes #93
* Adds new skybox example for demonstrating cubemap uses
* Adds .png files for skybox
* Adds skybox vert and frag shaders
2019-11-02 19:42:25 -07:00
bors[bot]
c33b1e81fd Merge #372
372: Followup for #356 - fix incorrect check r=kvark a=parasyte

@kvark This fixes the fix created in #356 

The original patch is checking the _requested descriptor limits_, but the backend limits are what needs to be checked for this edge case.

Co-authored-by: Jay Oster <jay@kodewerx.org>
2019-11-02 23:35:55 +00:00
Jay Oster
5a7b16076c Followup for #356 - fix incorrect check 2019-11-02 15:25:32 -07:00
bors[bot]
12d4108ca8 Merge #367
367: Support rendering to the swapchain from multiple command buffers r=jazzay a=kvark

Fixes #366

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-02 12:12:50 +00:00
bors[bot]
14c3583ba2 Merge #371
371: Don't depend on gfx-auxil r=straightforward a=kvark

Problem with gfx-auxil is that version 0.1 drags spirv_cross dependency (not needed on Vulkan), and the published crates haven't been switched to gfx-auxil-0.2

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-11-02 04:26:04 +00:00
Dzmitry Malyshau
cb692620ca Don't depend on gfx-auxil 2019-11-02 00:24:36 -04:00
bors[bot]
505096d027 Merge #369
369: return Result instead of panic r=kvark a=antonok-edm

Fixes https://github.com/gfx-rs/wgpu-rs/issues/106

Pretty simple implementation, let me know if this isn't sufficient

Co-authored-by: Anton Lazarev <antonok35@gmail.com>
2019-11-01 18:20:40 +00:00
Anton Lazarev
027a61a48d return Result instead of panic 2019-11-01 11:11:43 -07:00
bors[bot]
0643df040d Merge #20
20: Preparations for 0.3 release r=msiglreith a=kvark

Including:
- rename feature "libstatic" to "implicit-link"
- Debug and constructor implementations for the library structs
- removal of redundant Heap definition

Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
d3d12-v0.3.0
2019-11-01 13:17:21 +00:00
bors[bot]
aa33591b03 Merge #21
21: Use windows as default doc target r=kvark a=msiglreith

Relates to https://github.com/gfx-rs/d3d12-rs/issues/15, not sure if it fully fixes it

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2019-11-01 13:15:53 +00:00
msiglreith
b721376bba Use windows as default doc target 2019-11-01 11:46:42 +01:00
Dzmitry Malyshau
029c24d9cf Preparations for 0.3 release
Including:
- rename feature "libstatic" to "implicit-link"
- Debug and constructor implementations for the library structs
- removal of redundant Heap definition
2019-10-31 21:50:06 -04:00
bors[bot]
cab411d4a9 Merge #19
19: Dynamic loading for D3D12 device and DXGI r=msiglreith a=kvark

Fixes #18

Users can opt into static/implicit linking, or explicit one with "libloading", or even both (to make features truly additive).
I believe these changes cover the entry points we need to get everything running on any other Windows than 10.

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-31 22:25:42 +00:00
Dzmitry Malyshau
14fafbc7bd Dynamic loading for D3D12 device and DXGI 2019-10-31 15:52:58 -04:00
Dzmitry Malyshau
52b9d061f4 Support rendering to the swapchain from multiple command buffers 2019-10-31 10:14:48 -04:00
bors[bot]
4a6c1f8e41 [rs] Merge #107
107: Update to wgpu-native b8d26c9186 r=trivial a=kvark



Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
2019-10-31 02:27:35 +00:00
Dzmitry Malyshau
b707e53582 [rs] Update to wgpu-native b8d26c9186 2019-10-30 22:26:42 -04:00
bors[bot]
b8d26c9186 Merge #363
363: Extended remote example r=kvark a=kvark

The remote example is now successfully able to request an adapter and to clean up the IDs.
In the near future, we need to change the example so that the server is run on a different thread...

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-30 03:24:05 +00:00
Dzmitry Malyshau
384de9ca52 Properly dispose of DescriptorAllocator 2019-10-29 15:45:48 -04:00
Dzmitry Malyshau
ff1adb34d9 Fix destroy_instance warning 2019-10-29 15:30:30 -04:00
Dzmitry Malyshau
4635f1eb07 Extended remote example 2019-10-29 13:31:40 -04:00
bors[bot]
ee9fd49c1d Merge #361
361: Don't panic on the lack of adapters r=trivial a=kvark



Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2019-10-29 02:41:40 +00:00
Dzmitry Malyshau
41132a3762 Don't panic on the lack of adapters 2019-10-28 22:40:57 -04:00