Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.4/dx11] explicit library loading #3076

Merged
merged 2 commits into from
Nov 5, 2019
Merged

Conversation

kvark
Copy link
Member

@kvark kvark commented Nov 4, 2019

Supposedly fixes 32bit windows mingw CI: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=274334639&repo=try&lineNumber=88036
Similar to #3068 but for dx11

PR checklist:

  • make succeeds (on *nix)
  • make reftests succeeds
  • tested examples with the following backends: dx11
  • rustfmt run on changed code

@kvark
Copy link
Member Author

kvark commented Nov 4, 2019

I think it's safe to proceed.... please review anyway if interested!
bors r+

bors bot added a commit that referenced this pull request Nov 4, 2019
3076: [0.4/dx11] explicit library loading r=kvark a=kvark

Supposedly fixes 32bit windows mingw CI: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=274334639&repo=try&lineNumber=88036
Similar to #3068 but for dx11

PR checklist:
- [ ] `make` succeeds (on *nix)
- [ ] `make reftests` succeeds
- [x] tested examples with the following backends: dx11
- [ ] `rustfmt` run on changed code


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
@kvark kvark mentioned this pull request Nov 4, 2019
4 tasks
@bors
Copy link
Contributor

bors bot commented Nov 4, 2019

Build failed

bors bot added a commit that referenced this pull request Nov 4, 2019
3077: [dx11] explicit library loading r=kvark a=kvark

Sibling of #3076 but for `master`.
PR checklist:
- [ ] `make` succeeds (on *nix)
- [ ] `make reftests` succeeds
- [x] tested examples with the following backends: dx11
- [ ] `rustfmt` run on changed code


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
@kvark
Copy link
Member Author

kvark commented Nov 4, 2019

bors retry

@bors
Copy link
Contributor

bors bot commented Nov 4, 2019

Canceled

@kvark
Copy link
Member Author

kvark commented Nov 4, 2019

missed a few entry points...
bors r+

bors bot added a commit that referenced this pull request Nov 4, 2019
3076: [0.4/dx11] explicit library loading r=kvark a=kvark

Supposedly fixes 32bit windows mingw CI: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=274334639&repo=try&lineNumber=88036
Similar to #3068 but for dx11

PR checklist:
- [ ] `make` succeeds (on *nix)
- [ ] `make reftests` succeeds
- [x] tested examples with the following backends: dx11
- [ ] `rustfmt` run on changed code


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
@bors
Copy link
Contributor

bors bot commented Nov 4, 2019

Canceled

@kvark
Copy link
Member Author

kvark commented Nov 4, 2019

bors r+

bors bot added a commit that referenced this pull request Nov 4, 2019
3077: [dx11] explicit library loading r=kvark a=kvark

Sibling of #3076 but for `master`.
PR checklist:
- [ ] `make` succeeds (on *nix)
- [ ] `make reftests` succeeds
- [x] tested examples with the following backends: dx11
- [ ] `rustfmt` run on changed code


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
bors bot added a commit that referenced this pull request Nov 4, 2019
3076: [0.4/dx11] explicit library loading r=kvark a=kvark

Supposedly fixes 32bit windows mingw CI: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=274334639&repo=try&lineNumber=88036
Similar to #3068 but for dx11

PR checklist:
- [ ] `make` succeeds (on *nix)
- [ ] `make reftests` succeeds
- [x] tested examples with the following backends: dx11
- [ ] `rustfmt` run on changed code


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
@bors
Copy link
Contributor

bors bot commented Nov 5, 2019

Build succeeded

@bors bors bot merged commit a1674b4 into gfx-rs:hal-0.4 Nov 5, 2019
@kvark kvark deleted the 0.4-dx11-lib branch November 5, 2019 00:28
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Nov 5, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/arrayvec/.cargo-checksum.json => third_party/rust/arrayvec-0.4.11/.cargo-checksum.json
rename : third_party/rust/arrayvec/Cargo.toml => third_party/rust/arrayvec-0.4.11/Cargo.toml
rename : third_party/rust/arrayvec/README.rst => third_party/rust/arrayvec-0.4.11/README.rst
rename : third_party/rust/arrayvec/benches/extend.rs => third_party/rust/arrayvec-0.4.11/benches/extend.rs
rename : third_party/rust/arrayvec/build.rs => third_party/rust/arrayvec-0.4.11/build.rs
rename : third_party/rust/arrayvec/src/array.rs => third_party/rust/arrayvec-0.4.11/src/array.rs
rename : third_party/rust/arrayvec/src/array_string.rs => third_party/rust/arrayvec-0.4.11/src/array_string.rs
rename : third_party/rust/arrayvec/src/char.rs => third_party/rust/arrayvec-0.4.11/src/char.rs
rename : third_party/rust/arrayvec/src/lib.rs => third_party/rust/arrayvec-0.4.11/src/lib.rs
rename : third_party/rust/arrayvec/src/maybe_uninit.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_stable.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec/src/range.rs => third_party/rust/arrayvec-0.4.11/src/range.rs
rename : third_party/rust/arrayvec/tests/serde.rs => third_party/rust/arrayvec-0.4.11/tests/serde.rs
rename : third_party/rust/arrayvec/tests/tests.rs => third_party/rust/arrayvec-0.4.11/tests/tests.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Nov 5, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/arrayvec/.cargo-checksum.json => third_party/rust/arrayvec-0.4.11/.cargo-checksum.json
rename : third_party/rust/arrayvec/Cargo.toml => third_party/rust/arrayvec-0.4.11/Cargo.toml
rename : third_party/rust/arrayvec/README.rst => third_party/rust/arrayvec-0.4.11/README.rst
rename : third_party/rust/arrayvec/benches/extend.rs => third_party/rust/arrayvec-0.4.11/benches/extend.rs
rename : third_party/rust/arrayvec/build.rs => third_party/rust/arrayvec-0.4.11/build.rs
rename : third_party/rust/arrayvec/src/array.rs => third_party/rust/arrayvec-0.4.11/src/array.rs
rename : third_party/rust/arrayvec/src/array_string.rs => third_party/rust/arrayvec-0.4.11/src/array_string.rs
rename : third_party/rust/arrayvec/src/char.rs => third_party/rust/arrayvec-0.4.11/src/char.rs
rename : third_party/rust/arrayvec/src/lib.rs => third_party/rust/arrayvec-0.4.11/src/lib.rs
rename : third_party/rust/arrayvec/src/maybe_uninit.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_stable.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec/src/range.rs => third_party/rust/arrayvec-0.4.11/src/range.rs
rename : third_party/rust/arrayvec/tests/serde.rs => third_party/rust/arrayvec-0.4.11/tests/serde.rs
rename : third_party/rust/arrayvec/tests/tests.rs => third_party/rust/arrayvec-0.4.11/tests/tests.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
xeonchen pushed a commit to xeonchen/gecko that referenced this pull request Nov 5, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

Differential Revision: https://phabricator.services.mozilla.com/D49458
xeonchen pushed a commit to xeonchen/gecko that referenced this pull request Nov 5, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

Differential Revision: https://phabricator.services.mozilla.com/D49458
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Nov 6, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: 9c05fa3c0fcceb4f557d81e7a740bf81992aecb8
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Nov 6, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: ef59d327a1a45ec7ccc9a6965e08c2325e64e336
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Nov 6, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: 9c05fa3c0fcceb4f557d81e7a740bf81992aecb8
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Nov 6, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: ef59d327a1a45ec7ccc9a6965e08c2325e64e336
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Nov 6, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: 9c05fa3c0fcceb4f557d81e7a740bf81992aecb8
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Nov 6, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://bugzilla.mozilla.org/show_bug.cgi?id=1592398
    - [x] undefined Metal symbols
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: ef59d327a1a45ec7ccc9a6965e08c2325e64e336
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Nov 6, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library - rust-lang/cc-rs#455
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/arrayvec/.cargo-checksum.json => third_party/rust/arrayvec-0.4.11/.cargo-checksum.json
rename : third_party/rust/arrayvec/Cargo.toml => third_party/rust/arrayvec-0.4.11/Cargo.toml
rename : third_party/rust/arrayvec/README.rst => third_party/rust/arrayvec-0.4.11/README.rst
rename : third_party/rust/arrayvec/benches/extend.rs => third_party/rust/arrayvec-0.4.11/benches/extend.rs
rename : third_party/rust/arrayvec/build.rs => third_party/rust/arrayvec-0.4.11/build.rs
rename : third_party/rust/arrayvec/src/array.rs => third_party/rust/arrayvec-0.4.11/src/array.rs
rename : third_party/rust/arrayvec/src/array_string.rs => third_party/rust/arrayvec-0.4.11/src/array_string.rs
rename : third_party/rust/arrayvec/src/char.rs => third_party/rust/arrayvec-0.4.11/src/char.rs
rename : third_party/rust/arrayvec/src/lib.rs => third_party/rust/arrayvec-0.4.11/src/lib.rs
rename : third_party/rust/arrayvec/src/maybe_uninit.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_stable.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec/src/range.rs => third_party/rust/arrayvec-0.4.11/src/range.rs
rename : third_party/rust/arrayvec/tests/serde.rs => third_party/rust/arrayvec-0.4.11/tests/serde.rs
rename : third_party/rust/arrayvec/tests/tests.rs => third_party/rust/arrayvec-0.4.11/tests/tests.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
xeonchen pushed a commit to xeonchen/gecko that referenced this pull request Nov 6, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library - rust-lang/cc-rs#455
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

Differential Revision: https://phabricator.services.mozilla.com/D49458
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Nov 7, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library - rust-lang/cc-rs#455
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: cbec8a55a1bbad484ea0628b527de6f0cc7dc5f7
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Nov 7, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library - rust-lang/cc-rs#455
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: cbec8a55a1bbad484ea0628b527de6f0cc7dc5f7
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Nov 7, 2019
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - gfx-rs/wgpu#371
  - [x] macOS
    - [x] due to cross-compiling shaders - gfx-rs/gfx#3047
    - [x] need the dependency update
    - [x] stop using gcc - SSheldon/rust-objc-exception#5
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - servo/ipc-channel#233
    - [x] due to some exceptional stuff - grovesNL/spirv_cross#121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - gfx-rs/gfx#3076
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library - rust-lang/cc-rs#455
  - [x] Android
    - [x] spirv-cross fails to build - KhronosGroup/SPIRV-Cross#1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

UltraBlame original commit: cbec8a55a1bbad484ea0628b527de6f0cc7dc5f7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant