mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 10:44:56 +00:00
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
185 lines
5.4 KiB
Plaintext
185 lines
5.4 KiB
Plaintext
# Uses the LLVM coding style
|
|
build/clang-plugin/.*
|
|
# The two templates cannot be formatted
|
|
config/gcc-stl-wrapper.template.h
|
|
config/msvc-stl-wrapper.template.h
|
|
# Generated code
|
|
js/src/builtin/intl/LanguageTagGenerated.cpp
|
|
js/src/builtin/intl/TimeZoneDataGenerated.h
|
|
|
|
# Don't want to reformat irregexp. bug 1510128
|
|
js/src/irregexp/.*
|
|
|
|
# Don't want to reformat zydis (third-party library subject to occasional updates).
|
|
js/src/zydis/.*
|
|
|
|
# Generated by js/src/util/make_unicode.py
|
|
# Note: the irregexp files are already excluded with the rest of js/src/irregexp
|
|
# but we add them here in case that ever changes.
|
|
js/src/irregexp/RegExpCharacters-inl.h
|
|
js/src/irregexp/RegExpCharacters.cpp
|
|
js/src/util/Unicode.cpp
|
|
js/src/util/UnicodeNonBMP.h
|
|
|
|
# Ignored because of bug 1506117 & 1342657
|
|
layout/style/nsCSSAnonBoxList.h
|
|
layout/style/nsCSSCounterDescList.h
|
|
layout/style/nsCSSFontDescList.h
|
|
layout/style/nsCSSKeywordList.h
|
|
layout/style/nsCSSPseudoElementList.h
|
|
layout/style/nsCSSVisitedDependentPropList.h
|
|
layout/style/nsDOMCSSValueList.h
|
|
layout/style/nsStyleStructList.h
|
|
|
|
# Generated by protobuf
|
|
.*/.*.pb.h
|
|
.*/.*.pb.cc
|
|
|
|
# Autogenerated file
|
|
gfx/gl/GLConsts.h
|
|
gfx/webrender_bindings/webrender_ffi_generated.h
|
|
dom/webgpu/ffi/wgpu_ffi_generated.h
|
|
intl/unicharutil/util/nsSpecialCasingData.cpp
|
|
intl/unicharutil/util/nsUnicodePropertyData.cpp
|
|
intl/unicharutil/util/nsUnicodeScriptCodes.h
|
|
media/mp4parse-rust/mp4parse.h
|
|
security/manager/ssl/StaticHPKPins.h
|
|
widget/gtk/wayland/gtk-primary-selection-client-protocol.h
|
|
widget/gtk/wayland/gtk-primary-selection-protocol.c
|
|
|
|
# Ignored because these files are used to generate a windows.h STL wrapper,
|
|
# and reformatting them can break generating that wrapper.
|
|
config/windows-h-.*.h
|
|
|
|
# Exclude tools/clang-tidy/test from automatic reformatting, since it can
|
|
# break some of the tests in that directory.
|
|
tools/clang-tidy/test/.*
|
|
|
|
# We are testing the incorrect formatting.
|
|
tools/lint/test/files/file-whitespace/
|
|
|
|
# The XPTCall stubs files have some inline assembly macros
|
|
# that get reformatted badly. See bug 1510781.
|
|
xpcom/reflect/xptcall/md/win32/.*
|
|
xpcom/reflect/xptcall/md/unix/.*
|
|
|
|
# Generated from ./tools/rewriting/ThirdPartyPaths.txt
|
|
# awk '{print ""$1".*"}' ./tools/rewriting/ThirdPartyPaths.txt
|
|
browser/components/translation/cld2/.*
|
|
browser/extensions/mortar/ppapi/.*
|
|
devtools/client/shared/sourceeditor/codemirror/.*
|
|
dom/canvas/test/webgl-conf/checkout/closure-library/.*
|
|
dom/media/gmp/rlz/.*
|
|
dom/media/gmp/widevine-adapter/content_decryption_module.h
|
|
dom/media/gmp/widevine-adapter/content_decryption_module_export.h
|
|
dom/media/gmp/widevine-adapter/content_decryption_module_ext.h
|
|
dom/media/gmp/widevine-adapter/content_decryption_module_proxy.h
|
|
dom/media/platforms/ffmpeg/ffmpeg57/.*
|
|
dom/media/platforms/ffmpeg/ffmpeg58/.*
|
|
dom/media/platforms/ffmpeg/libav53/.*
|
|
dom/media/platforms/ffmpeg/libav54/.*
|
|
dom/media/platforms/ffmpeg/libav55/.*
|
|
dom/media/webspeech/recognition/endpointer.cc
|
|
dom/media/webspeech/recognition/endpointer.h
|
|
dom/media/webspeech/recognition/energy_endpointer.cc
|
|
dom/media/webspeech/recognition/energy_endpointer.h
|
|
dom/media/webspeech/recognition/energy_endpointer_params.cc
|
|
dom/media/webspeech/recognition/energy_endpointer_params.h
|
|
dom/webauthn/cbor-cpp/.*
|
|
dom/webauthn/winwebauthn/webauthn.h
|
|
editor/libeditor/tests/browserscope/lib/richtext/.*
|
|
editor/libeditor/tests/browserscope/lib/richtext2/.*
|
|
extensions/spellcheck/hunspell/src/.*
|
|
gfx/angle/.*
|
|
gfx/cairo/.*
|
|
gfx/graphite2/.*
|
|
gfx/harfbuzz/.*
|
|
gfx/ots/.*
|
|
gfx/qcms/.*
|
|
gfx/sfntly/.*
|
|
gfx/skia/.*
|
|
gfx/vr/service/openvr/.*
|
|
gfx/wr/.*
|
|
gfx/ycbcr/.*
|
|
intl/hyphenation/hyphen/.*
|
|
intl/icu/.*
|
|
ipc/chromium/src/third_party/.*
|
|
js/src/ctypes/libffi/.*
|
|
js/src/dtoa.c.*
|
|
js/src/editline/.*
|
|
js/src/jit/arm64/vixl/.*
|
|
js/src/vtune/disable_warnings.h
|
|
js/src/vtune/ittnotify.h
|
|
js/src/vtune/ittnotify_config.h
|
|
js/src/vtune/ittnotify_static.c
|
|
js/src/vtune/ittnotify_static.h
|
|
js/src/vtune/ittnotify_types.h
|
|
js/src/vtune/jitprofiling.c
|
|
js/src/vtune/jitprofiling.h
|
|
js/src/vtune/legacy/.*
|
|
media/ffvpx/.*
|
|
media/kiss_fft/.*
|
|
media/libaom/.*
|
|
media/libcubeb/.*
|
|
media/libdav1d/.*
|
|
media/libjpeg/.*
|
|
media/libmkv/.*
|
|
media/libnestegg/.*
|
|
media/libogg/.*
|
|
media/libopus/.*
|
|
media/libpng/.*
|
|
media/libsoundtouch/.*
|
|
media/libspeex_resampler/.*
|
|
media/libtheora/.*
|
|
media/libtremor/.*
|
|
media/libvorbis/.*
|
|
media/libvpx/.*
|
|
media/libwebp/.*
|
|
media/libyuv/.*
|
|
media/mtransport/third_party/.*
|
|
media/openmax_dl/.*
|
|
media/openmax_il/.*
|
|
media/webrtc/signaling/src/sdp/sipcc/.*
|
|
media/webrtc/trunk/.*
|
|
mfbt/double-conversion/double-conversion/.*
|
|
mfbt/lz4/.*
|
|
mobile/android/geckoview/src/thirdparty/.*
|
|
modules/brotli/.*
|
|
modules/fdlibm/.*
|
|
modules/freetype2/.*
|
|
modules/libbz2/.*
|
|
modules/pdfium/.*
|
|
modules/woff2/.*
|
|
modules/xz-embedded/.*
|
|
modules/zlib/.*
|
|
mozglue/misc/decimal/.*
|
|
netwerk/dns/nsIDNKitInterface.h
|
|
netwerk/sctp/src/.*
|
|
netwerk/srtp/src/.*
|
|
nsprpub/.*
|
|
other-licenses/.*
|
|
parser/expat/.*
|
|
security/nss/.*
|
|
security/sandbox/chromium/.*
|
|
security/sandbox/chromium-shim/.*
|
|
testing/gtest/gmock/.*
|
|
testing/gtest/gtest/.*
|
|
testing/talos/talos/tests/dromaeo/.*
|
|
testing/talos/talos/tests/kraken/.*
|
|
testing/talos/talos/tests/v8_7/.*
|
|
testing/web-platform/tests/resources/webidl2/.*
|
|
testing/web-platform/tests/tools/third_party/.*
|
|
third_party/.*
|
|
toolkit/components/jsoncpp/.*
|
|
toolkit/components/protobuf/.*
|
|
toolkit/components/url-classifier/chromium/.*
|
|
toolkit/components/url-classifier/protobuf/.*
|
|
toolkit/crashreporter/breakpad-client/.*
|
|
toolkit/crashreporter/google-breakpad/.*
|
|
toolkit/recordreplay/udis86/.*
|
|
tools/fuzzing/libfuzzer/.*
|
|
tools/profiler/core/vtune/.*
|
|
xpcom/build/mach_override.c
|
|
xpcom/build/mach_override.h
|
|
xpcom/io/crc32c.c
|