зеркало из https://github.com/mozilla/gecko-dev.git
1c5b01ed15
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test. Complementary ecosystem tracker - https://github.com/gfx-rs/wgpu/issues/374 Current status: - [x] General - [x] figure out the IPC story - [ ] move wgpu crates into a dedicated folder (postponed as https://bugzilla.mozilla.org/show_bug.cgi?id=1594182) - [x] neko rebasing disaster - [x] Linux - [x] avoid depending on spirv_cross - [x] macOS - [x] due to cross-compiling shaders - [x] need the dependency update - [x] stop using gcc - [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] spirv-cross linking failure in ASAN - https://phabricator.services.mozilla.com/D52688 - [x] Windows - [x] due to "ipc-channel" not supporting Windows yet - [x] due to some exceptional stuff - [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 - [x] libbacktrace fails to link on win32 mingw - [x] cc mislinking C++ standard library - [x] Android - [x] spirv-cross fails to build due to exceptions 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/blake2b_simd/Cargo.toml => third_party/rust/ash/Cargo.toml rename : third_party/rust/uluru/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/crossbeam-deque/LICENSE-MIT => third_party/rust/cocoa/LICENSE-MIT rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs rename : third_party/rust/uluru/Cargo.toml => third_party/rust/colorful/Cargo.toml rename : third_party/rust/uluru/Cargo.toml => third_party/rust/copyless/Cargo.toml rename : third_party/rust/crossbeam-utils/.cargo-checksum.json => third_party/rust/crossbeam-utils-0.6.5/.cargo-checksum.json rename : third_party/rust/crossbeam-utils/CHANGELOG.md => third_party/rust/crossbeam-utils-0.6.5/CHANGELOG.md rename : third_party/rust/crossbeam-utils/Cargo.toml => third_party/rust/crossbeam-utils-0.6.5/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/crossbeam-utils-0.6.5/LICENSE-MIT rename : third_party/rust/crossbeam-utils/README.md => third_party/rust/crossbeam-utils-0.6.5/README.md rename : third_party/rust/crossbeam-utils/benches/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/benches/atomic_cell.rs rename : third_party/rust/crossbeam-utils/src/atomic/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/src/atomic/atomic_cell.rs rename : third_party/rust/crossbeam-utils/src/atomic/mod.rs => third_party/rust/crossbeam-utils-0.6.5/src/atomic/mod.rs rename : third_party/rust/crossbeam-utils/src/backoff.rs => third_party/rust/crossbeam-utils-0.6.5/src/backoff.rs rename : third_party/rust/crossbeam-utils/src/cache_padded.rs => third_party/rust/crossbeam-utils-0.6.5/src/cache_padded.rs rename : third_party/rust/crossbeam-utils/src/lib.rs => third_party/rust/crossbeam-utils-0.6.5/src/lib.rs rename : third_party/rust/crossbeam-utils/src/thread.rs => third_party/rust/crossbeam-utils-0.6.5/src/thread.rs rename : third_party/rust/crossbeam-utils/tests/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/tests/atomic_cell.rs rename : third_party/rust/crossbeam-utils/tests/parker.rs => third_party/rust/crossbeam-utils-0.6.5/tests/parker.rs rename : third_party/rust/crossbeam-utils/tests/sharded_lock.rs => third_party/rust/crossbeam-utils-0.6.5/tests/sharded_lock.rs rename : third_party/rust/crossbeam-utils/tests/thread.rs => third_party/rust/crossbeam-utils-0.6.5/tests/thread.rs rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/gfx-auxil/Cargo.toml rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/gfx-backend-empty/Cargo.toml rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/hibitset/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/hibitset/LICENSE-MIT rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/metal/LICENSE-MIT rename : third_party/rust/uluru/Cargo.toml => third_party/rust/range-alloc/Cargo.toml rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/raw-window-handle/Cargo.toml rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/relevant/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/relevant/LICENSE-MIT rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/rendy-descriptor/Cargo.toml rename : third_party/rust/uluru/Cargo.toml => third_party/rust/shared_library/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/shared_library/LICENSE-MIT rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/storage-map/Cargo.toml rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
apz | ||
basic | ||
client | ||
composite | ||
d3d11 | ||
ipc | ||
layerviewer | ||
mlgpu | ||
opengl | ||
protobuf | ||
wr | ||
AnimationHelper.cpp | ||
AnimationHelper.h | ||
AnimationInfo.cpp | ||
AnimationInfo.h | ||
AsyncCanvasRenderer.cpp | ||
AsyncCanvasRenderer.h | ||
AtomicRefCountedWithFinalize.h | ||
AxisPhysicsMSDModel.cpp | ||
AxisPhysicsMSDModel.h | ||
AxisPhysicsModel.cpp | ||
AxisPhysicsModel.h | ||
BSPTree.cpp | ||
BSPTree.h | ||
BufferTexture.cpp | ||
BufferTexture.h | ||
CanvasDrawEventRecorder.cpp | ||
CanvasDrawEventRecorder.h | ||
CanvasRenderer.cpp | ||
CanvasRenderer.h | ||
CanvasTranslator.cpp | ||
CanvasTranslator.h | ||
CompositionRecorder.cpp | ||
CompositionRecorder.h | ||
Compositor.cpp | ||
Compositor.h | ||
CompositorTypes.h | ||
CopyableCanvasRenderer.cpp | ||
CopyableCanvasRenderer.h | ||
D3D9SurfaceImage.cpp | ||
D3D9SurfaceImage.h | ||
D3D11ShareHandleImage.cpp | ||
D3D11ShareHandleImage.h | ||
D3D11YCbCrImage.cpp | ||
D3D11YCbCrImage.h | ||
DirectedGraph.h | ||
DirectionUtils.h | ||
Effects.cpp | ||
Effects.h | ||
FrameMetrics.cpp | ||
FrameMetrics.h | ||
GLImages.cpp | ||
GLImages.h | ||
GPUVideoImage.h | ||
IMFYCbCrImage.cpp | ||
IMFYCbCrImage.h | ||
IPDLActor.h | ||
ImageContainer.cpp | ||
ImageContainer.h | ||
ImageDataSerializer.cpp | ||
ImageDataSerializer.h | ||
ImageLayers.cpp | ||
ImageLayers.h | ||
ImageTypes.h | ||
LayerAttributes.h | ||
LayerMetricsWrapper.h | ||
LayerScope.cpp | ||
LayerScope.h | ||
LayerSorter.cpp | ||
LayerSorter.h | ||
LayerTreeInvalidation.cpp | ||
LayerTreeInvalidation.h | ||
LayerUserData.h | ||
Layers.cpp | ||
Layers.h | ||
LayersHelpers.cpp | ||
LayersHelpers.h | ||
LayersLogging.cpp | ||
LayersLogging.h | ||
LayersTypes.cpp | ||
LayersTypes.h | ||
MacIOSurfaceHelpers.cpp | ||
MacIOSurfaceHelpers.h | ||
MacIOSurfaceImage.cpp | ||
MacIOSurfaceImage.h | ||
MemoryPressureObserver.cpp | ||
MemoryPressureObserver.h | ||
NativeLayer.h | ||
NativeLayerCA.h | ||
NativeLayerCA.mm | ||
PaintThread.cpp | ||
PaintThread.h | ||
PersistentBufferProvider.cpp | ||
PersistentBufferProvider.h | ||
ProfilerScreenshots.cpp | ||
ProfilerScreenshots.h | ||
ReadbackLayer.h | ||
ReadbackProcessor.cpp | ||
ReadbackProcessor.h | ||
RecordedCanvasEventImpl.h | ||
RenderTrace.cpp | ||
RenderTrace.h | ||
RepaintRequest.h | ||
RotatedBuffer.cpp | ||
RotatedBuffer.h | ||
ScrollableLayerGuid.h | ||
ShareableCanvasRenderer.cpp | ||
ShareableCanvasRenderer.h | ||
SourceSurfaceSharedData.cpp | ||
SourceSurfaceSharedData.h | ||
SourceSurfaceVolatileData.cpp | ||
SourceSurfaceVolatileData.h | ||
SyncObject.cpp | ||
SyncObject.h | ||
TextureDIB.cpp | ||
TextureDIB.h | ||
TextureSourceProvider.cpp | ||
TextureSourceProvider.h | ||
TextureSync.cpp | ||
TextureSync.h | ||
TextureWrapperImage.cpp | ||
TextureWrapperImage.h | ||
TiledLayerBuffer.h | ||
TransactionIdAllocator.h | ||
TreeTraversal.h | ||
UpdateImageHelper.h | ||
ZoomConstraints.h | ||
moz.build |