This is the first step in a series of patches that will merge all render target structs into a single one that can express any kind of render task, cached or not.
Merging color and alpha targets isn't that important in isolation but it makes merging color and texture cache target easier since the latter can be color or alpha.
Differential Revision: https://phabricator.services.mozilla.com/D224780
This will be needed by some quad rendering optimizations and the view-transition snapshotting infrastructure.
The main change in this patch is that ResourceCache::request_render_task now takes an optional cache key and only creates a cached render task if the cache key is supplied.
The patch ballooned into including a few cosmetic changes:
- user_data was always None so the parameter was removed
- the closure is not generic anymore
- arguments were shuffled a bit to put parameters at the beginning and the &mut builders together at the end.
Differential Revision: https://phabricator.services.mozilla.com/D224446
- Add a 'wasm_lazy_tiering_synchronous' flag which avoids a background compile
to simplify testing.
- Update all tests to use the right prefs.
- Enable some tests that were erroneously disabled still
- Fix an issue with stack comparisons where the 'request-tier-up' stub
was included.
Differential Revision: https://phabricator.services.mozilla.com/D225128
These classes just embed pref values that are already stored
elsewhere. The pref values are just as fast to access as these
heuristic classes so we should just avoid duplicating them.
Differential Revision: https://phabricator.services.mozilla.com/D225127
Remove the experimental prefix from our tiering level, and use the max in our tests
to ensure we have coverage of tier-ups.
Differential Revision: https://phabricator.services.mozilla.com/D225125
- Remove the experimental part of these flags.
- Rename the overall flag to just talk about lazy_tiering.
- Add a lazy_tiering_for_gc which enables this feature only for wasm-gc modules.
Differential Revision: https://phabricator.services.mozilla.com/D225124
1908418 added tab groups and their tab relationships to each window. This patch will restore tab groups and the tabs within them.
Differential Revision: https://phabricator.services.mozilla.com/D224955
Use some kind of prefix table to avoid storing redundant string. Also
Avoid storing an array of enum when there's a direct mapping between
enum values and loop index.
This result in a reduction of 352 byte in the resulting binary, so this
may not be worth the effort, but it was great fun to write that patch.
Differential Revision: https://phabricator.services.mozilla.com/D224494
Remove GCancellable usage and don't cancel ongoing DBus inhibit/uninhibit requests.
Rather queue new requests and perform them in order.
Differential Revision: https://phabricator.services.mozilla.com/D221777
It is used to conditionally set a structure field, so it's required
that all compilation unit using it have the same value for that define.
The easiest way to achieve that goal is to set the define globally.
Differential Revision: https://phabricator.services.mozilla.com/D224752
This maps better to the code we have in nsWindow, and fixes a couple
bugs which caused maximized skeleton UI-consuming windows to be
mispositioned with the following patches.
Differential Revision: https://phabricator.services.mozilla.com/D225100
A function marked `isAsmJSNative` is either the outer module function or an actual
exported asm.js function. The module function can't be disassembled.
Differential Revision: https://phabricator.services.mozilla.com/D225357
Collecting the full history updates from the parent process until the partial history colletion is introduced for SHIP on Android.
Differential Revision: https://phabricator.services.mozilla.com/D221710