We have seen reports that various websites, including twitter, perform
poorly on older Adreno devices due, to backdrop filter. We previously
encountered similar on Mali-G710 devices in bug 1809738, and it
appeared to be due to having to copy the contents of large
framebuffers--required to render the backdrop filter--to and from the
GPU's tile memory. On Mali we were able to avoid this penalty by
ensuring we performed an unscissored clear immediately after binding
the framebuffer, allowing the driver to omit initalizing the contents
of tile memory prior to rendering.
It's plausible that older Adreno drivers are not clever enough to be
able to make this optimization. However, there exists an extension
QCOM_tiled_rendering, which allows us to explicitly tell the driver
which subregion of a render target we are rendering too, and whether
it must be pre-initilized or post-resolved.
This patch makes use of this extension when rendering to color and
picture cache targets. In both cases we supply the region that is
being rendered and must only resolve the color attachment back to main
memory. In most cases we can additionally avoid initializing tile
memory prior to rendering, with the exception being in
draw_color_target() when we do not perform an initial clear, in which
case we must initialize the color attachment.
This results in a significant performance improvement on twitter when
tested on a Nexus 5 (Adreno 330) device.
Depends on D176153
Differential Revision: https://phabricator.services.mozilla.com/D176154
Only affects OpenBSD-only codepaths.
Directly use g_app_info_launch_default_for_uri() if the scheme is http(s).
Regression from bug 1714919.
Differential Revision: https://phabricator.services.mozilla.com/D176211
Most users of colorways have been migrated to AMO from built-in themes, and the versions on AMO don't set `--lwt-toolbar-field-icon-fill-attention`. Built-in themes still set `--lwt-toolbar-field-icon-fill-attention` but we can just ignore that with bug 1811267 having been fixed.
Differential Revision: https://phabricator.services.mozilla.com/D175891
One assert check is remove from RemoteTextureMap::PushTexture(). The assert was wrong. RemoteTextureHostWrapper is unregistered when its Compositable ref becomes 0. It could happen.
On android, async RemoteTexture could not be enabled until Bug 1826687 fix.
Differential Revision: https://phabricator.services.mozilla.com/D175978
The unpainted non-client region leaves a white bar at the bottom of the window when maximized on Win11 with auto-hidden taskbar. This region is where a user can mouse-over to expose the taskbar. Painting it black eliminates the row of white pixels and fixes problems with exposing the hidden taskbar. Windows 10 usually (correctly) paints a sliver of the taskbar in this region with or without this patch. However, it also has similar (but more complex) failing edge cases discussed in the bug.
Additionally, bug 758280 used 1px for the autohidden region size but the real size is 2px so we switch to that here.
Differential Revision: https://phabricator.services.mozilla.com/D148834
Since Windows 8, ABM_GETAUTOHIDEBAREX has provided a way to identify if/where the system taskbar is hidden, even in multi-monitor setups. This adds a function to easily fetch that information.
Differential Revision: https://phabricator.services.mozilla.com/D148833
We only have overlay scrollbars enabled on test machines on android, but we force them on using a pref for individual tests. I checked that this causes the tests to fail on desktop platforms without the patch from bug 1827337.
Differential Revision: https://phabricator.services.mozilla.com/D176228
rust-analyzer runs the command from the workspace directory. mach knows
how to find the right python virtual-env.
My LSP prints the whole command while it's running and including the
absolute python path + the absolute path is somewhat annoying. I tested
this on vscode and it seems to work just fine as well.
Differential Revision: https://phabricator.services.mozilla.com/D176227
RLS is no longer a thing and nowadays clangd works with anything so
YouCompleteMe isn't needed necessarily.
Also neoconf allows to use the VSCode configuration verbatim.
Differential Revision: https://phabricator.services.mozilla.com/D176223
Fixed @import supports() being parsed in the incorrect position as per spec.
Also added more WPT tests for layer and supports in one @import.
Differential Revision: https://phabricator.services.mozilla.com/D176193