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

145 Коммитов

Автор SHA1 Сообщение Дата
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
sotaro ee841fc548 Bug 1689945 - Update display info when WM_DISPLAYCHANGE happens r=jrmuizel
GfxInfo::RefreshMonitors() could not be called in ScreenHelperWin::RefreshScreens(), since the RefreshScreens() is called within nsAppShell::Init(). Then GfxInfo::RefreshMonitors() is called during WM_DISPLAYCHANGE event handling.

Differential Revision: https://phabricator.services.mozilla.com/D103661
2021-02-04 23:25:35 +00:00
Butkovits Atila ce8d6cba99 Backed out changeset 73210e7c7526 (bug 1689945) for causing failures on Hal.cpp. CLOSED TREE 2021-02-04 18:26:21 +02:00
sotaro 196f20caaa Bug 1689945 - Update display info when WM_DISPLAYCHANGE happens r=jrmuizel
GfxInfo::RefreshMonitors() could not be called in ScreenHelperWin::RefreshScreens(), since the RefreshScreens() is called within nsAppShell::Init(). Then GfxInfo::RefreshMonitors() is called during WM_DISPLAYCHANGE event handling.

Differential Revision: https://phabricator.services.mozilla.com/D103661
2021-02-04 13:53:03 +00: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
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
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
Matt Woodrow 4e7f9b4789 Bug 1678684 - Initialize DXVA on the media thread, remove the mostly-unused dll blocklist, and the crashguard. r=jya
The main-thread requirements for DXVA appear to have been needed when we initialized a crash guard. We now only run DXVA in the GPU and RDD processes, which don't support crash guards. This removes the main thread dispatch and the crashguard code, and enforces that we're in the GPU/RDD process to init DXVA.

This also removes the DLL blocklist code. This was disabled via pref when in the GPU process, which should be the majority of the time. In rare cases we would have been running DXVA in the RDD process (on older win7 when the GPU process isn't available). In these cases we can just do the same as the GPU process, allowing crashes and recovering from them (and disabling DXVA).

Differential Revision: https://phabricator.services.mozilla.com/D98036
2020-12-14 06:04:13 +00:00
Butkovits Atila df75ae580c Backed out changeset 8c0e2919f6b2 (bug 1678684) for causing Bug 1680661. CLOSED TREE 2020-12-04 11:26:44 +02:00
Matt Woodrow d58b85c3c9 Bug 1678684 - Initialize DXVA on the media thread, remove the mostly-unused dll blocklist, and the crashguard. r=jya
The main-thread requirements for DXVA appear to have been needed when we initialized a crash guard. We now only run DXVA in the GPU and RDD processes, which don't support crash guards. This removes the main thread dispatch and the crashguard code, and enforces that we're in the GPU/RDD process to init DXVA.

This also removes the DLL blocklist code. This was disabled via pref when in the GPU process, which should be the majority of the time. In rare cases we would have been running DXVA in the RDD process (on older win7 when the GPU process isn't available). In these cases we can just do the same as the GPU process, allowing crashes and recovering from them (and disabling DXVA).

Differential Revision: https://phabricator.services.mozilla.com/D98036
2020-12-04 00:49:27 +00:00
Matt Woodrow ccd859ffae Bug 1674866 - Add gfx feature for WR software. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D96502
2020-11-10 23:36:43 +00:00
Andrew Osmond 7dbd895ab1 Bug 1672464 - Block WebRender for NVIDIA users with mixed refresh rates. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D94477
2020-10-23 15:12:41 +00:00
Jeff Gilbert 449098b7b4 Bug 1668144 - Add blocklisting for OOP WebGL. r=mattwoodrow
* Add FEATURE_THREADSAFE_GL and FEATURE_ALLOW_WEBGL_OUT_OF_PROCESS
* Add gfxVars::AllowWebglOop()
* Blocklist THREADSAFE_GL on mesa/nouveau

Differential Revision: https://phabricator.services.mozilla.com/D91879
2020-10-01 08:14:12 +00:00
Jeff Gilbert fe9cac8ce8 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also rename to UNUSED_FEATURE_WEBGL_MSAA, pending removal.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-27 22:18:23 +00:00
Csoregi Natalia fd1e86b487 Backed out changeset 3dcacf3ae5a1 (bug 1664905) for assertion failures on GfxInfoBase.cpp. CLOSED TREE 2020-09-25 09:33:40 +03:00
Jeff Gilbert 3fd329a969 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also remove obsolete FEATURE_WEBGL_MSAA.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-25 05:43:24 +00:00
Razvan Maries 92ac0ffaa7 Backed out changeset 3ea0c63fe8b8 (bug 1664905) for build bustages on ClientWebGLContext.cpp. CLOSED TREE 2020-09-25 03:26:17 +03:00
Jeff Gilbert 98e2fea926 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also remove obsolete FEATURE_WEBGL_MSAA.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-24 23:46:12 +00:00
Daosheng Mu af1368e7aa Bug 1602072 - Add a gfxInfo flag determine Firefox is embedded by FxR for telemetry. r=thomasmo,chutten,froydnj,jrmuizel,geckoview-reviewers,rbarker,snorp
Differential Revision: https://phabricator.services.mozilla.com/D56233
2020-06-25 17:22:20 +00:00
Kartikaya Gupta ed3e0d6f72 Bug 1647225 - Change the string exposed via gfxInfo. r=jrmuizel
This includes things like about:support, gfxCriticalNote, probably telemetry
environment stuff.

Differential Revision: https://phabricator.services.mozilla.com/D80451
2020-06-23 15:14:24 +00:00
Narcis Beleuzu 1f50773a6e Backed out 8 changesets (bug 1647225) for xpcshell failures on test_gfxBlacklist_Version.js CLOSED TREE
Backed out changeset b6f88195da61 (bug 1647225)
Backed out changeset a5b3f54cb5f2 (bug 1647225)
Backed out changeset 6a1025189b0e (bug 1647225)
Backed out changeset b95de94b444e (bug 1647225)
Backed out changeset ed2c7dfd8373 (bug 1647225)
Backed out changeset 1adc99494bcb (bug 1647225)
Backed out changeset 5d0cf22c335a (bug 1647225)
Backed out changeset 956b43a8636f (bug 1647225)
2020-06-23 04:34:12 +03:00
Kartikaya Gupta 3be958c0fa Bug 1647225 - Change the string exposed via gfxInfo. r=jrmuizel
This includes things like about:support, gfxCriticalNote, probably telemetry
environment stuff.

Depends on D80450

Differential Revision: https://phabricator.services.mozilla.com/D80451
2020-06-22 14:04:56 +00:00
Dzmitry Malyshau 59b6551dd5 Bug 1638672 - Use shaders to clear texture cache regions r=geckoview-reviewers,gw,snorp
This is a suggested workaround for an interesting visual bug that we see on
some platforms with Intel Broadwell GPUs.

Also reverts https://phabricator.services.mozilla.com/D57100

Differential Revision: https://phabricator.services.mozilla.com/D78705
2020-06-08 21:05:03 +00:00
Andrew Osmond 74fde5963b Bug 1638011 - Block WebRender in release for high refresh rate monitors. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D75450
2020-05-15 08:39:43 +00:00
Dorel Luca b3df26707f Backed out changeset e1c031719669 (bug 1638011) for Build bustages. CLOSED TREE 2020-05-15 05:14:51 +03:00
Andrew Osmond d6ab670bf8 Bug 1638011 - Block WebRender in release for high refresh rate monitors. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D75450
2020-05-15 01:35:00 +00:00
Andrew Osmond cbd1d387e2 Bug 1614376 - Part 2. Add blocklist support for battery/screen size filters. r=jrmuizel
As part of the WebRender rollout, we have been only allowing users
meeting particular platform, battery and screen size requirements (among
others) to get WebRender by default. This patch adds support for battery
and screen size filters in the blocklist rules to allow us to control
that more easily. It also adds kludgey support for checking for recent
Windows 10 build numbers for allowlist purposes; implementing this the
proper way would require an implementation like driver version checks,
which are much more complicated than most of the rules.

Differential Revision: https://phabricator.services.mozilla.com/D62323

--HG--
extra : moz-landing-system : lando
2020-02-13 15:51:32 +00:00
Andrew Osmond 9d0dcc23af Bug 1614376 - Part 1. Add support for an allowlist to GfxInfo. r=jrmuizel
The blocklist currently works by checking the current configuration
against a set of GfxDriverInfo rules. We stop searching as soon as we
find the first match, and return whatever status code that has.

This patch adds a second pass for features marked for allowing. The
current blocklisting rules will still apply as normal. However it will
then review the allowlist rules using the same logic. If we don't get
a match, then we block the feature otherwise we use the allow status
code given in the rule.

New status codes introduced as part of this patch are as follows:

DENIED - Did not match any rules on the allowlist.

ALLOW_ALWAYS - Same as STATUS_OK but passed the allowlist.

ALLOW_QUALIFIED - Same as ALLOW_ALWAYS but should be controlled by
our qualified preference for experimentation purposes.

Differential Revision: https://phabricator.services.mozilla.com/D62322

--HG--
extra : moz-landing-system : lando
2020-02-13 16:06:41 +00:00
Csoregi Natalia 743b1f8b4b Backed out 3 changesets (bug 1614376) for assertion failures on GfxInfoBase.cpp. CLOSED TREE
Backed out changeset b239f4b49722 (bug 1614376)
Backed out changeset c5ac550f4966 (bug 1614376)
Backed out changeset e11c62eba5f1 (bug 1614376)
2020-02-13 14:35:26 +02:00
Andrew Osmond 1374c13c07 Bug 1614376 - Part 2. Add blocklist support for battery/screen size filters. r=jrmuizel
As part of the WebRender rollout, we have been only allowing users
meeting particular platform, battery and screen size requirements (among
others) to get WebRender by default. This patch adds support for battery
and screen size filters in the blocklist rules to allow us to control
that more easily. It also adds kludgey support for checking for recent
Windows 10 build numbers for allowlist purposes; implementing this the
proper way would require an implementation like driver version checks,
which are much more complicated than most of the rules.

Differential Revision: https://phabricator.services.mozilla.com/D62323

--HG--
extra : moz-landing-system : lando
2020-02-11 22:36:39 +00:00
Andrew Osmond 7ae72bfac0 Bug 1614376 - Part 1. Add support for an allowlist to GfxInfo. r=jrmuizel
The blocklist currently works by checking the current configuration
against a set of GfxDriverInfo rules. We stop searching as soon as we
find the first match, and return whatever status code that has.

This patch adds a second pass for features marked for allowing. The
current blocklisting rules will still apply as normal. However it will
then review the allowlist rules using the same logic. If we don't get
a match, then we block the feature otherwise we use the allow status
code given in the rule.

New status codes introduced as part of this patch are as follows:

DENIED - Did not match any rules on the allowlist.

ALLOW_ALWAYS - Same as STATUS_OK but passed the allowlist.

ALLOW_QUALIFIED - Same as ALLOW_ALWAYS but should be controlled by
our qualified preference for experimentation purposes.

Differential Revision: https://phabricator.services.mozilla.com/D62322

--HG--
extra : moz-landing-system : lando
2020-02-11 22:55:50 +00:00
Andrew Osmond 215f13488a Bug 1602819 - Expose desktop environment (e.g. GNOME, KDE) on Linux. r=jrmuizel,fluent-reviewers
This patch also exposes the desktop environment and window protocol on
the gfx blocklist, allowing us more control over feature deployment.
This will help with the slow rollout of WebRender to release channels.

Differential Revision: https://phabricator.services.mozilla.com/D56563

--HG--
extra : moz-landing-system : lando
2020-02-10 14:21:30 +00:00
Razvan Maries 23b0b10a14 Backed out changeset 8ddc0a160da1 (bug 1602819) for Mochitest perma failures on Linux. CLOSED TREE 2020-02-10 14:52:27 +02:00
Andrew Osmond b2a444ebe9 Bug 1602819 - Expose desktop environment (e.g. GNOME, KDE) on Linux. r=jrmuizel,fluent-reviewers
This patch also exposes the desktop environment and window protocol on
the gfx blocklist, allowing us more control over feature deployment.
This will help with the slow rollout of WebRender to release channels.

Differential Revision: https://phabricator.services.mozilla.com/D56563

--HG--
extra : moz-landing-system : lando
2020-02-07 18:57:51 +00:00
sotaro 111038667c Bug 1602511 - Blacklist webrender compositor on Intel HD 520 r=gw
Differential Revision: https://phabricator.services.mozilla.com/D56535

--HG--
extra : moz-landing-system : lando
2019-12-10 19:16:13 +00:00
Kris Taeleman 38b7d1873f Bug 1594145 - Add gfx telemetry scalars to geckoview_streaming. r=Dexter,jnicol
* Fix mochitest browser_Troubleshoot.js schema failure
* Fix mochitest browser_Troubleshoot.js schema failure on windows with
multiple adapters

Differential Revision: https://phabricator.services.mozilla.com/D52941

--HG--
extra : moz-landing-system : lando
2019-11-26 19:42:06 +00:00
Coroiu Cristina 074f577ac7 Backed out changeset 91f3048cc58e (bug 1594145) for browser-chrome failures at toolkit/modules/tests/browser/browser_Troubleshoot.js on a CLOSED TREE 2019-11-26 04:49:17 +02:00
Kris Taeleman 92eb33ee8b Bug 1594145 - Add gfx telemetry scalars to geckoview_streaming. r=Dexter,jnicol
* Fix mochitest browser_Troubleshoot.js schema failure

Differential Revision: https://phabricator.services.mozilla.com/D52941

--HG--
extra : moz-landing-system : lando
2019-11-25 20:50:33 +00:00
Mihai Alexandru Michis a033171524 Backed out changeset 270e007adcd2 (bug 1594145) for causing browser-chrome failures in browser_Troubleshoot.js 2019-11-25 14:51:07 +02:00
Kris Taeleman 25c223ac03 Bug 1594145 - Add gfx telemetry scalars to geckoview_streaming. r=Dexter,jnicol
Differential Revision: https://phabricator.services.mozilla.com/D52941

--HG--
extra : moz-landing-system : lando
2019-11-23 00:18:27 +00:00