gecko-dev/dom
Dzmitry Malyshau 9ac41ecccf Bug 1575008 - WebGPU implementation basis r=webidl,baku
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 - https://github.com/gfx-rs/wgpu/pull/371
  - [x] macOS
    - [x] due to cross-compiling shaders - https://github.com/gfx-rs/gfx/pull/3047
    - [x] need the dependency update
    - [x] stop using gcc - https://github.com/SSheldon/rust-objc-exception/pull/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 - https://github.com/servo/ipc-channel/pull/233~~
    - [x] due to some exceptional stuff - https://github.com/grovesNL/spirv_cross/issues/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 - https://github.com/gfx-rs/gfx/pull/3076
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library - https://github.com/alexcrichton/cc-rs/pull/455
  - [x] Android
    - [x] spirv-cross fails to build - https://github.com/KhronosGroup/SPIRV-Cross/pull/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
2019-11-05 19:51:15 +00:00
..
abort
animation Bug 1587713 - Adjust the tests to account for transform layerization changes with webrender. r=jrmuizel 2019-11-04 14:55:24 +00:00
audiochannel Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug 2019-09-30 22:06:47 +00:00
base Bug 1575008 - WebGPU implementation basis r=webidl,baku 2019-11-05 19:51:15 +00:00
battery Backed out changeset f065877ca676 (bug 1441976) for wpt failures at battery-status/battery-interface-idlharness.https.window.html on a CLOSED TREE 2019-09-27 00:24:29 +03:00
bindings Bug 1592771. Add tests for round-tripping of various external strings through bindings. r=mccr8 2019-10-30 22:09:15 +00:00
broadcastchannel Bug 1447586 Disable test_broadcastchannel_close2.html on Android, Linux64 and Mac r=gbrown 2019-10-29 14:07:57 +00:00
browser-element Bug 1584998: Make x-frame-options work with fission enabled. r=jkt,farre,johannh,flod 2019-10-31 08:28:35 +00:00
cache Bug 1591491. Add more use of FakeString::ShareOrDependUpon. r=froydnj 2019-10-28 20:41:59 +00:00
canvas Bug 1565268 - Recovering VRDisplay status after VRService is shutdown. r=kip,jgilbert 2019-10-29 00:35:35 +00:00
chrome-webidl Bug 1590908 - Part 1: Move parent-only LoadURI method to CanonicalBrowsingContext, r=kmag 2019-11-04 15:05:47 +00:00
clients Bug 1583859 - ExecutionReadyPromise should not be exclusive. r=perry 2019-10-23 17:55:38 +00:00
commandhandler Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug 2019-09-30 22:06:47 +00:00
console Bug 1582892. Expose the number of strings in a Web IDL enum in a nice way. r=edgar 2019-10-23 03:54:39 +00:00
credentialmanagement
crypto Bug 1585119 - Re-enable many mochitests on android; r=geckoview-reviewers,snorp 2019-10-15 15:07:09 +00:00
debugger
docs Bug 1577413 - Add initial description of code style evolution process. r=jstutte 2019-11-05 09:04:53 +00:00
encoding Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=firefox-build-system-reviewers,mshal 2019-10-07 21:15:19 +00:00
events Bug 1593299 - Disconnect EventListenerManager is DOMEventTargetHelper's Unlink, r=masayuki 2019-11-03 00:03:12 +00:00
fetch Bug 1593162 - Remove the expired telemetry probes added in bug 1127552; r=edgar 2019-11-01 13:43:15 +00:00
file Bug 1590022 - Use union return value for FileReader.result, r=smaug 2019-10-22 11:53:18 +00:00
filehandle
filesystem Bug 1585284 - Use nsIGlobalObject in any Blob/File CTOR, r=smaug 2019-10-21 05:33:33 +00:00
flex
gamepad Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug 2019-09-30 22:06:47 +00:00
geolocation Bug 1585297- Use Principal->SchemeIs in nsGeolocation.cpp r=ckerschb 2019-10-01 12:54:56 +00:00
grid Bug 1581106 part 3 - [css-grid-2] Implement 'repeat(auto-fill, <line-names>)' in subgridded axis. r=emilio 2019-09-30 17:32:52 +00:00
html Bug 1581537 - Avoid several browser language leaks r=smaug 2019-11-04 16:56:27 +00:00
imptests Bug 1194860 - Remove dom/imptests; r=jgraham 2019-10-15 08:22:15 +00:00
indexedDB Bug 1168606 - Fixed some log messages. r=ttung 2019-11-05 16:46:38 +00:00
interfaces Bug 1591968 - Put window.mozPaintCount behind a default-off pref. r=bzbarsky 2019-10-29 10:25:53 +00:00
ipc Bug 1470510 - Rename nsXULWindow and nsIXULWindow to AppWindow and nsIAppWindow. r=smaug 2019-11-05 17:56:28 +00:00
jsurl Backed out 5 changesets (bug 1552176) for causing multiple build bustages CLOSED TREE 2019-11-02 23:20:28 +02:00
l10n Bug 1513325 - Remove textbox binding. r=emilio,dao 2019-10-09 09:27:28 +00:00
locales Bug 1581537 - Avoid several browser language leaks r=smaug 2019-11-04 16:56:27 +00:00
localstorage Bug 1589626 - LSNG: Add a check for null quota object; r=ttung 2019-10-18 14:13:37 +00:00
manifest Bug 1587793 - re-associate manifest with a browser when getting them from cache r=snorp 2019-10-24 04:58:13 +00:00
mathml Bug 1575870. Remove support for XLink on MathML elements. r=emilio 2019-10-05 21:47:38 +00:00
media Bug 1212237 - Use MediaRecorder to test peerIdentity track isolation. r=jib 2019-11-05 20:04:08 +00:00
messagechannel
midi
network
notification Bug 1592959 - Warn about non-user interaction Notification requests. r=Ehsan 2019-11-01 09:55:06 +00:00
offline Bug 1575934 - Create the channels used to download and verify appcache entries with the cookie settings belonging to the document which created the appcache; r=baku 2019-10-15 17:32:54 +00:00
payments Bug 1587162 - Fix UBSAN complaints about pref callbacks. r=erahm 2019-11-01 02:57:20 +00:00
performance Bug 1571219 - Refactor PerformanceMeasure to avoid double-reducing timestamps r=baku 2019-10-23 11:42:10 +00:00
permission Bug 1582892. Expose the number of strings in a Web IDL enum in a nice way. r=edgar 2019-10-23 03:54:39 +00:00
plugins Bug 1470510 - Rename nsXULWindow and nsIXULWindow to AppWindow and nsIAppWindow. r=smaug 2019-11-05 17:56:28 +00:00
power Bug 1585156 - Remove useless inclusions of nsIDOMWindow.h and nsIDOMWindowUtils.h r=smaug 2019-09-30 22:06:47 +00:00
presentation Backed out 5 changesets (bug 1552176) for causing multiple build bustages CLOSED TREE 2019-11-02 23:20:28 +02:00
prio
promise Bug 1592230 - Remove unused variable 'gIDGenerator' r=edgar 2019-10-29 12:40:15 +00:00
prototype Bug 1510785 - Only build XBL related code when MOZ_XBL is defined. r=bzbarsky 2019-10-08 23:52:14 +00:00
push Bug 1592699 - Fix test_serviceworker_lifetime.html r=asuth 2019-10-30 17:23:53 +00:00
quota Bug 1586189 - Re-implement waitForMessage based on waitForContentEvent; r=mccr8,janv 2019-10-30 15:26:25 +00:00
reporting Bug 1585119 - Re-enable many more mochitests on Android; r=geckoview-reviewers,snorp 2019-10-18 14:35:20 +00:00
res
script Bug 1588899 - P1. Move classification flags related method to nsIClassifiedChannel. r=Ehsan,baku 2019-10-19 04:30:24 +00:00
security Bug 1585000 - Enable Samesite Cookies for Fission r=ckerschb,farre 2019-11-05 09:39:13 +00:00
serviceworkers Bug 1593162 - Remove the expired telemetry probes added in bug 1127552; r=edgar 2019-11-01 13:43:15 +00:00
simpledb
smil Bug 1587142 - Remove most XBL tests in dom/ r=bzbarsky 2019-10-25 22:38:08 +00:00
storage
svg Bug 1510785 - Only build XBL related code when MOZ_XBL is defined. r=bzbarsky 2019-10-08 23:52:14 +00:00
system Backed out 2 changesets (bug 1576733) for android build bustages on OSFileConstants.cpp. CLOSED TREE 2019-11-05 21:50:12 +02:00
tests Bug 1591990 - Enable local storage tests for Fission r=janv 2019-10-31 15:28:13 +00:00
u2f
url Bug 824857: Support IDL stringifier attributes r=bzbarsky 2019-10-23 04:55:54 +00:00
vr Bug 1592713 - Avoid to update VR HMD sensor states when pages are not in the presenting mode. r=kip 2019-10-31 22:10:43 +00:00
webauthn Bug 1582892. Expose the number of strings in a Web IDL enum in a nice way. r=edgar 2019-10-23 03:54:39 +00:00
webbrowserpersist Bug 1586681 - Ensure URIFIxup uses the right engine when there's a separate PB engine. r=Standard8,Gijs 2019-10-12 12:37:51 +00:00
webgpu Bug 1575008 - WebGPU implementation basis r=webidl,baku 2019-11-05 19:51:15 +00:00
webidl Bug 1575008 - WebGPU implementation basis r=webidl,baku 2019-11-05 19:51:15 +00:00
websocket Backed out 5 changesets (bug 1552176) for causing multiple build bustages CLOSED TREE 2019-11-02 23:20:28 +02:00
workers Bug 1590908 - Part 2: Don't require passing JSContext* to CallerInnerWindow, r=kmag 2019-11-04 15:05:49 +00:00
worklet Bug 1591491. Add more use of FakeString::ShareOrDependUpon. r=froydnj 2019-10-28 20:41:59 +00:00
xbl Bug 1587142 - Remove most XBL tests in dom/ r=bzbarsky 2019-10-25 22:38:08 +00:00
xhr Bug 1591579 - Move ResponseData JS objects and Blob from XMLHttpRequestWorker::ResponseData to XMLHttpRequestWorker, r=smaug 2019-11-04 17:46:23 +00:00
xml Bug 1585119 - Re-enable many mochitests on android; r=geckoview-reviewers,snorp 2019-10-15 15:07:09 +00:00
xslt Bug 1587905 - Remove useless variable 'typeTest' declaration & assignation r=Ehsan 2019-10-10 22:48:49 +00:00
xul Bug 1470510 - Rename nsXULWindow and nsIXULWindow to AppWindow and nsIAppWindow. r=smaug 2019-11-05 17:56:28 +00:00
jar.mn
moz.build Backed out changeset 8fb923925923 (bug 1194860) for causing perma mda3 failures in dom/media/webaudio/test/test_convolverNodeChannelInterpretationChanges.html CLOSED TREE 2019-10-14 19:27:08 +03:00