Граф коммитов

8798 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew 87b20ff958 Bug 1691719 - Optimize InitSystemFontNames when running on Catalina or later, where the .SFNS is a variable font with optical sizing. r=lsalzman
Depends on D105042

Differential Revision: https://phabricator.services.mozilla.com/D105044
2021-02-12 20:10:36 +00:00
Jonathan Kew 75d0bf426f Bug 1691719 - Don't explicitly activate supplemental fonts directory when building with pre-Catalina SDK, as the fonts are automatically made available. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D105042
2021-02-12 20:10:36 +00:00
Simon Giesecke f701c44a5c Bug 1691894 - Fix EntryHandle to only work with DataType rather than wrapping UserDataType. r=xpcom-reviewers,necko-reviewers,nika,jonco,valentin
Differential Revision: https://phabricator.services.mozilla.com/D104810
2021-02-12 15:25:40 +00:00
Jamie Nicol 2bc946d133 Bug 1689064 - Disable optimized shaders on Mali-T6xx. r=aosmond
Webrender's pre-optimized shaders result in completely broken
rendering on a Huawei MediaPad M2 (Mali-T628). As a precaution,
disable optimized shaders on all Mali-T6xx devices.

Differential Revision: https://phabricator.services.mozilla.com/D104752
2021-02-11 13:47:59 +00:00
Brindusan Cristian 8859fc3907 Backed out changeset e602ff8fea83 (bug 1689064) for assertion failures in gfxFeature.cpp. CLOSED TREE 2021-02-11 13:28:24 +02:00
Jamie Nicol e97cf43b8c Bug 1689064 - Disable optimized shaders on Mali-T6xx. r=aosmond
Webrender's pre-optimized shaders result in completely broken
rendering on a Huawei MediaPad M2 (Mali-T628). As a precaution,
disable optimized shaders on all Mali-T6xx devices.

Differential Revision: https://phabricator.services.mozilla.com/D104752
2021-02-11 10:54:15 +00:00
Noemi Erli 06eb4d31ad Backed out changeset 5338c029ee7c (bug 1689064) for causing GTest failures CLOSED TREE 2021-02-11 02:02:45 +02:00
Jamie Nicol 6bd22ad430 Bug 1689064 - Disable optimized shaders on Mali-T6xx. r=aosmond
Webrender's pre-optimized shaders result in completely broken
rendering on a Huawei MediaPad M2 (Mali-T628). As a precaution,
disable optimized shaders on all Mali-T6xx devices.

Differential Revision: https://phabricator.services.mozilla.com/D104752
2021-02-10 23:09:19 +00:00
Matt Woodrow f9e8884de8 Bug 1541472 - Remove Advanced Layers, since it's disabled everywhere now. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104592
2021-02-10 02:04:41 +00:00
Jonathan Kew 4c2a389e9a Bug 1690877 - Only activate additional fonts in the parent process on macOS. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D104559
2021-02-09 21:28:35 +00:00
Markus Stange 718867e499 Bug 1691170 - Replace deprecated kCTFontDefaultOrientation with its replacement kCTFontOrientationDefault. r=jrmuizel
Depends on D104301

Differential Revision: https://phabricator.services.mozilla.com/D104302
2021-02-09 21:17:19 +00:00
Simon Giesecke 010633d2d1 Bug 1688833 - Migrate LookupForAdd to WithEntryHandle in gfx/thebes. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D104215
2021-02-09 18:19:39 +00:00
Nicolas Silva df797398ca Bug 1691421 - Report staging texture memory. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D104420
2021-02-09 15:40:51 +00:00
Andrew Osmond 7067bbd819 Bug 1691309 - Manage image key lifetimes properly for the missing glyph atlas. r=jrmuizel
The resource namespace associated with a WebRenderBridgeChild can change
over time, e.g. due to a tab being moved between windows. We need to
recreate any resource keys as a result of this. The missing glyph atlas
code assumed the namespace was constant, and this could cause issues by
referencing invalid image keys, or even another unrelated image. This
patch makes it properly track the entire image key, not just the handle,
so that it can manage namespace changes properly.

Differential Revision: https://phabricator.services.mozilla.com/D104336
2021-02-08 00:15:01 +00:00
Andrew Osmond 3bae64cc4b Bug 1690280 - Ensure we check the SW-WR/D3D11 pref before assuming it can be used during fallback. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D103793
2021-02-02 15:30:09 +00:00
Nicolas Silva 997f34d803 Bug 1681310 - Add a batched texture upload code path using glTexSubImage2D. r=jnicol
Our existing batched texture upload logic works with pixel buffer objects which we don't use with ANGLE.
The motivation is to avoid expensive driver overhead from submitting many glTexSubImage2D calls (one for each texture cache item) on low-end Intel Windows configurations.

On Windows+Intel it is much faster to use batched draw calls to copy from staging textures to texture cache than using CopySubResourceRegion (when there is a high number of copies).

Differential Revision: https://phabricator.services.mozilla.com/D103333
2021-02-02 06:50:00 +00:00
Andrew Osmond 4a410a48ae Bug 1689203 - Allow fallback from WebRender to Software WebRender. r=jrmuizel
We can disable WebRender because the GPU process crashed, or we
encountered a graceful runtime error in WebRender. This patch adds two
new prefs to control how that fallback works.

gfx.webrender.fallback.software-d3d11 controls if WebRender falls back
to Software WebRender + D3D11 compositing. If true, and the user is
allowed to get Software WebRender, we will fallback to Software
WebRender with the D3D11 compositor first.

gfx.webrender.fallback.software controls if WebRender falls back to
Software WebRender. If true, and the user is allowed to get Software
WebRender, we will fallback to Software WebRender without the D3D11
compositor.

gfx.webrender.fallback.basic controls if WebRender or Software
WebRender falls back to Basic. If true, it falls back to Basic.
Otherwise it continues to use Software WebRender without the D3D11
compositor. Note that this means OpenGL on Android.

This patch also means that gfx.webrender.all=true and MOZ_WEBRENDER=1
no longer disables Software WebRender. It will still prefer (Hardware)
WebRender but we want to allow fallback to Software WebRender for
configurations that forced WebRender on.

Differential Revision: https://phabricator.services.mozilla.com/D103491
2021-02-01 23:36:36 +00:00
Butkovits Atila 6a81495553 Backed out changeset 7ba7ce64acae (bug 1689203) for causing failure on GfxConfigManager. CLOSED TREE 2021-02-02 01:33:00 +02:00
Andrew Osmond 2a606ea074 Bug 1689203 - Allow fallback from WebRender to Software WebRender. r=jrmuizel
We can disable WebRender because the GPU process crashed, or we
encountered a graceful runtime error in WebRender. This patch adds two
new prefs to control how that fallback works.

gfx.webrender.fallback.software-d3d11 controls if WebRender falls back
to Software WebRender + D3D11 compositing. If true, and the user is
allowed to get Software WebRender, we will fallback to Software
WebRender with the D3D11 compositor first.

gfx.webrender.fallback.software controls if WebRender falls back to
Software WebRender. If true, and the user is allowed to get Software
WebRender, we will fallback to Software WebRender without the D3D11
compositor.

gfx.webrender.fallback.basic controls if WebRender or Software
WebRender falls back to Basic. If true, it falls back to Basic.
Otherwise it continues to use Software WebRender without the D3D11
compositor. Note that this means OpenGL on Android.

This patch also means that gfx.webrender.all=true and MOZ_WEBRENDER=1
no longer disables Software WebRender. It will still prefer (Hardware)
WebRender but we want to allow fallback to Software WebRender for
configurations that forced WebRender on.

Differential Revision: https://phabricator.services.mozilla.com/D103491
2021-02-01 22:27:11 +00:00
Butkovits Atila 1d0218ffe2 Backed out changeset a3c9fce26dd1 (bug 1689203) for causing build bustages on GPUProcessManager.cpp. CLOSED TREE 2021-02-02 00:22:59 +02:00
Jonathan Kew 9e93ef8b3f Bug 1687622 - Activate fonts for additional language support from their new location on Big Sur. r=m_kato
Depends on D102820

Differential Revision: https://phabricator.services.mozilla.com/D102821
2021-02-01 20:55:52 +00:00
Jonathan Kew feb7e5627e Bug 1687622 - Rewrite macOS version of GetCommonFallbackFonts to handle a lot more language fonts that ship with the OS. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D102820
2021-02-01 20:55:44 +00:00
Andrew Osmond 65ad480541 Bug 1689203 - Allow fallback from WebRender to Software WebRender. r=jrmuizel
We can disable WebRender because the GPU process crashed, or we
encountered a graceful runtime error in WebRender. This patch adds two
new prefs to control how that fallback works.

gfx.webrender.fallback.software-d3d11 controls if WebRender falls back
to Software WebRender + D3D11 compositing. If true, and the user is
allowed to get Software WebRender, we will fallback to Software
WebRender with the D3D11 compositor first.

gfx.webrender.fallback.software controls if WebRender falls back to
Software WebRender. If true, and the user is allowed to get Software
WebRender, we will fallback to Software WebRender without the D3D11
compositor.

gfx.webrender.fallback.basic controls if WebRender or Software
WebRender falls back to Basic. If true, it falls back to Basic.
Otherwise it continues to use Software WebRender without the D3D11
compositor. Note that this means OpenGL on Android.

This patch also means that gfx.webrender.all=true and MOZ_WEBRENDER=1
no longer disables Software WebRender. It will still prefer (Hardware)
WebRender but we want to allow fallback to Software WebRender for
configurations that forced WebRender on.

Differential Revision: https://phabricator.services.mozilla.com/D103491
2021-02-01 20:41:09 +00:00
Jonathan Kew 18ae46fc22 Bug 1687426 - If a CSS generic font-family name is present, use this to determine which font prefs to look at during fallback. r=emk
Differential Revision: https://phabricator.services.mozilla.com/D103598
2021-02-01 10:47:40 +00:00
Bogdan Tara ed210ffba0 Backed out changeset 45fb48dc681c (bug 1687426) for arabic-final-ligature-spacing.html failures CLOSED TREE 2021-02-01 05:35:30 +02:00
Jonathan Kew 0b9ef71f7f Bug 1687426 - If a CSS generic font-family name is present, use this to determine which font prefs to look at during fallback. r=emk
Differential Revision: https://phabricator.services.mozilla.com/D103598
2021-01-31 22:27:45 +00:00
Mihai Alexandru Michis f13eee1faa Backed out 2 changesets (bug 1687622) for causing Bug 1688804.
Backed out changeset 4d42ff607081 (bug 1687622)
Backed out changeset f7fc57b92765 (bug 1687622)
2021-01-26 14:02:52 +02:00
Andrew Osmond cb82d29e76 Bug 1680512 - Prefer EGL for glxtest detection and fallback to GLX if unavailable. r=rmader
As we make the transition to using EGL over GLX, we will need our
detection code to be sufficient without EGL to determine the device in
use. This patch makes us always use the EGL testing code over the GLX
testing code, regardless of the pref/envvar setting.

At the very least, we need to know the vendor ID of the device in use.
We can determine this if there is only one GPU on the PCI list, if we
get a driver name from Mesa, or if it is a proprietary driver (i.e.
NVIDIA) which includes its name in the vendor ID. If we know the vendor
ID, we can usually derive the device ID from the PCI list.

We now also track which path glxtest took. If we successfully did the
test via EGL, then we will allow the pref/envvar to use EGL instead of
GLX. If the test reverted to GLX, then it will use GLX regardless of the
pref/envvar. This is necessary because we need to know if the libraries
are available or not -- some systems may be missing one or the other.

Differential Revision: https://phabricator.services.mozilla.com/D102933
2021-01-25 19:41:04 +00:00
Noemi Erli 1f192d6edb Backed out changeset 98349a6be0f6 (bug 1680512) for causing build bustages in GfxInfo.mm CLOSED TREE 2021-01-25 21:13:12 +02:00
Jonathan Kew 5aeb57227b Bug 1688596 - Updating character maps only needs to cause reflow if we've previously needed to request cmap coverage to support a font fallback search. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D102902
2021-01-25 18:25:42 +00:00
Jonathan Kew 313ad40981 Bug 1687622 - Activate fonts for additional language support from their new location on Big Sur. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D102821
2021-01-25 17:25:19 +00:00
Jonathan Kew 743c0a6871 Bug 1687622 - Rewrite macOS version of GetCommonFallbackFonts to handle a lot more language fonts that ship with the OS. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D102820
2021-01-25 17:19:23 +00:00
Andrew Osmond b364e1738e Bug 1680512 - Prefer EGL for glxtest detection and fallback to GLX if unavailable. r=rmader
As we make the transition to using EGL over GLX, we will need our
detection code to be sufficient without EGL to determine the device in
use. This patch makes us always use the EGL testing code over the GLX
testing code, regardless of the pref/envvar setting.

At the very least, we need to know the vendor ID of the device in use.
We can determine this if there is only one GPU on the PCI list, if we
get a driver name from Mesa, or if it is a proprietary driver (i.e.
NVIDIA) which includes its name in the vendor ID. If we know the vendor
ID, we can usually derive the device ID from the PCI list.

We now also track which path glxtest took. If we successfully did the
test via EGL, then we will allow the pref/envvar to use EGL instead of
GLX. If the test reverted to GLX, then it will use GLX regardless of the
pref/envvar. This is necessary because we need to know if the libraries
are available or not -- some systems may be missing one or the other.

Differential Revision: https://phabricator.services.mozilla.com/D102933
2021-01-25 17:31:27 +00:00
Timothy Nikkel bc32435029 Bug 1688086. Only dispatch a runnable to the main thread to notify it of vsync if there are main thread observers for it. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D102693
2021-01-22 17:16:47 +00:00
sotaro b82da0489b Bug 1686974 - Add memory reporters to GPU process r=jrmuizel
On GPU Process gfxWindowsPlatform() is not created. Then some Windows specific memory reporters are not added in GPU Process.

Differential Revision: https://phabricator.services.mozilla.com/D102252
2021-01-19 14:11:20 +00:00
Jamie Nicol 3f25321970 Bug 1687312 - Expose gfx.feature.webrender probe to geckoview_streaming telemetry. r=jrmuizel,aosmond
We have noticed that a sizeable number of Fenix users are not getting
webrender when they should be. On desktop the existing
gfx.feature.webrender telemetry probe is used to determine why
webrender is not enabled. Expose this to geckoview_streaming telemetry
so we can tell the same for Fenix users.

Differential Revision: https://phabricator.services.mozilla.com/D102213
2021-01-18 22:39:24 +00:00
Jonathan Kew fa6b797928 Bug 1686274 - Put the activation of app-bundled fonts behind a pref on all platforms, with a default auto option that is Windows-version-sensitive. r=lsalzman
This allows us to default to skipping the bundled Twemoji Mozilla font when running on Win8.1 or later,
where we can assume Segoe UI Emoji is available.

The new pref here replaces the existing pair of boolean prefs that were only supported on Android,
and is now respected on all platforms. Available settings are:

    0     disable use of app-bundled fonts
    > 0   enable use of app-bundled fonts
    < 0   default (auto): decide at startup, based on the system environment

(The pref is relevant only at startup; changing its value during a session will not make the bundled fonts
appear/disappear dynamically.)

Differential Revision: https://phabricator.services.mozilla.com/D102085
2021-01-18 20:04:36 +00:00
Robert Mader 736a9e904d Bug 1588904 - [Linux/EGL] Use correct rendering device in multi-GPU setup, r=stransky,emilio,jgilbert,geckoview-reviewers,m_kato
Fetch the DRM device in the EGL version of glxtest, set it in gfxInfo and pass
it to gfxVars. Finally, use it in nsDMABufDevice::Configure().

While on it, also clean up EGL typedefs and defines a bit to match how it's
done for GLX.

Inspired by and copied from wlroots and Xwayland. Thanks to emersion!

Differential Revision: https://phabricator.services.mozilla.com/D98108
2021-01-18 09:26:21 +00:00
Mihai Alexandru Michis 075a8d5214 Backed out changeset 03c509adfe55 (bug 1588904) for causing bustages.
CLOSED TREE
2021-01-16 18:09:05 +02:00
Robert Mader 2fd87154fc Bug 1588904 - [Linux/EGL] Use correct rendering device in multi-GPU setup, r=stransky,emilio,jgilbert
Fetch the DRM device in the EGL version of glxtest, set it in gfxInfo and pass
it to gfxVars. Finally, use it in nsDMABufDevice::Configure().

While on it, also clean up EGL typedefs and defines a bit to match how it's
done for GLX.

Inspired by and copied from wlroots and Xwayland. Thanks to emersion!

Differential Revision: https://phabricator.services.mozilla.com/D98108
2021-01-16 15:36:12 +00:00
Brindusan Cristian 4c535a3595 Backed out changeset dde159ea0c4c (bug 1588904) for build bustages at xf86drm.h. CLOSED TREE 2021-01-16 14:51:34 +02:00
Robert Mader 88f418e0a5 Bug 1588904 - [Linux/EGL] Use correct rendering device in multi-GPU setup, r=stransky,emilio,jgilbert
Fetch the DRM device in the EGL version of glxtest, set it in gfxInfo and pass
it to gfxVars. Finally, use it in nsDMABufDevice::Configure().

While on it, also clean up EGL typedefs and defines a bit to match how it's
done for GLX.

Inspired by and copied from wlroots and Xwayland. Thanks to emersion!

Differential Revision: https://phabricator.services.mozilla.com/D98108
2021-01-16 12:14:37 +00:00
Robert Mader db1a1fe941 Bug 1640053 - Implement full EGL support in glxtest, r=stransky,aosmond
1. On Wayland, use `get_egl_status()` by default
2. On X11/EGL use `x11_egltest()`, avoiding runtime dependencies on GLX
3. Avoid dlopening libgl/libgles on EGL if not needed
4. Some Wayland/X11 `ifdef` cleanups
5. Don't throw warnings when on mesa and using pci device detection

Depends on D101383

Differential Revision: https://phabricator.services.mozilla.com/D100638
2021-01-14 21:24:24 +00:00
Jeff Muizelaar 47bc170179 Bug 1686805 - Relax version check for FLIP_SEQUENTIAL present. r=aosmond
This isn't on by default and shows promise on Win7. Let's
make it available there.

Differential Revision: https://phabricator.services.mozilla.com/D101821
2021-01-15 00:09:58 +00:00
Andrew Osmond 680cfedad2 Bug 1683653 - Disable OMTP for users with less than 2 GB of virtual memory. r=jrmuizel
Also disable for users with 64-bit Firefox with 1-2 cores, and less than
2 GB of physical memory. It was already disabled for 32-bit Firefox.

Differential Revision: https://phabricator.services.mozilla.com/D101052
2021-01-14 19:51:00 +00:00
Andrew Osmond 9168cac006 Bug 1684170 - Decouple WebRender and Software WebRender gfxConfig features. r=jrmuizel
Lack of support of (hardware) WebRender should not block Software
WebRender support. This can happen when ANGLE isn't supported, for
example.

Differential Revision: https://phabricator.services.mozilla.com/D100445
2021-01-14 19:59:10 +00:00
stransky 2ef0cb2551 Bug 1685055 [Wayland] Post SyncBegin() to main thread only and remove thread specific code as it's unused, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D101157
2021-01-12 21:07:22 +00:00
Bogdan Tara 0545759f73 Backed out 2 changesets (bug 1685055) for nsWaylandDisplay related bustage CLOSED TREE
Backed out changeset 813da913ec72 (bug 1685055)
Backed out changeset c46c76db0a48 (bug 1685055)
2021-01-11 22:27:24 +02:00
stransky e8802ce8e3 Bug 1685055 [Wayland] Post SyncBegin() to main thread only and remove thread specific code as it's unused, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D101157
2021-01-11 19:58:04 +00:00
Jonathan Kew 90618d64ae Bug 1685434 - Respect fonts specified in the font.name-list.emoji preference even if this overrides the Unicode Emoji_Presentation style. r=m_kato
This is a minor adjustment to the font-selection heuristics implemented in bug 1371386:
for emoji codepoints, we should accept the font(s) specified in the font.name-list.emoji
preference even if it's a monochrome font for characters that would normally be expected
to use a color rendering, as this is the user's choice.

Differential Revision: https://phabricator.services.mozilla.com/D101162
2021-01-11 14:41:39 +00:00