This is the logic of tracing the WebGPU API calls at the level of wgpu-core,
serialized into a folder of choosing on the user drive. Traces are extremely portable,
they can be shared (on BugZilla) and then replayed on the developer machine,
which can have a different architecture from the users machine.
The standalone player is introduced in `gfx/wgpu/player`, similar to WebRender's Wrench.
The output dir is controlled by "dom.webgpu.traceDir" pref. No tracing happens if it's empty.
Differential Revision: https://phabricator.services.mozilla.com/D73333
This is the logic of tracing the WebGPU API calls at the level of wgpu-core,
serialized into a folder of choosing on the user drive. Traces are extremely portable,
they can be shared (on BugZilla) and then replayed on the developer machine,
which can have a different architecture from the users machine.
The standalone player is introduced in `gfx/wgpu/player`, similar to WebRender's Wrench.
The output dir is controlled by "dom.webgpu.traceDir" pref. No tracing happens if it's empty.
Differential Revision: https://phabricator.services.mozilla.com/D73333
TSan returns false positives for `lazy_static`. While we could
blocklist it, `once_cell` has equivalent functionality, but with a more
modern API, so let's use it instead.
Depends on D75864
Differential Revision: https://phabricator.services.mozilla.com/D76342
This function ought to be declared by `winapi`, but is not, for whatever
reason. However, its definition is stable enough that we can just
declare it inline rather than invoking bindgen every single build (and
unnecessarily compiling a build script on non-windows platforms) to
discover its definition for us.
Differential Revision: https://phabricator.services.mozilla.com/D76015
The upgrade of mp4parse pulled some code that previously was eliminated as
dead code in libxul. That code was unfortunately unreproducible as it
was generating a random seed at compile time. This was due to hashbrown
enabling the ahash feature that does that, but that was changed in 0.7.2.
Differential Revision: https://phabricator.services.mozilla.com/D75033
* Avoid misdetecting windows-1252 English as windows-1254.
* Avoid misdetecting windows-1252 English as IBM866.
* Avoid misdetecting windows-1252 English as GBK or EUC-KR.
* Improve Chinese and Japanese detection by not giving single-byte encodings score for letter next to digit.
* Improve Italian, Portuguese, Castilian, Catalan, and Galician detection by taking into account ordinal indicator use.
* Reduce lookup table size.
Differential Revision: https://phabricator.services.mozilla.com/D73237
This requires --build-peers-said-large-imports-were-ok since
third_party/rust/mp4parse/src/lib.rs is 113KB. This code is just moving from
media/mp4parse-rust to third_party/rust, so it's not really adding to net code
size.
Differential Revision: https://phabricator.services.mozilla.com/D74488
When building in some configurations of rustc (e.g. i386 without SSE), building Firefox fails with, among other things:
```
error[E0428]: the name `U1024` is defined multiple times
```
This comes from the typenum library. The issue was fixed in 14a3322d10, so all it takes is an upgrade of the crate.
Differential Revision: https://phabricator.services.mozilla.com/D74005