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

242 Коммитов

Автор SHA1 Сообщение Дата
Alexis Beingessner ade0725530 Bug 1686616 - make GfxInfo use Components instead of Services. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D105522
2021-02-18 13:26:29 +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
Jamie Nicol d636995f23 Bug 1680087 - Disable webrender partial present on Mali-T6xx and T7xx. r=aosmond
Due to rendering issues reported on a Mali-T628 and Mali-T760, disable
partial present on all Mali-T6xx and T7xx devices. We know that not
all T6xx and T7xx devices are affected, so this is being cautious. The
driver version is probably more important than the GPU model. We
should make the block more precise once more is known about the bug.

Differential Revision: https://phabricator.services.mozilla.com/D104678
2021-02-10 13:10:38 +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
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
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
Andrew Osmond 68638ae568 Bug 1689195 - Ship WebRender to release for Intel users with high refresh rate screens. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D103196
2021-01-29 14:22:23 +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
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
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
Jamie Nicol f394063007 Bug 1685276 - Fix and re-enable partial present on Mali-Gxx devices. r=kvark
In bug 1676474 an issue was reported regarding partial present on
Mali-G77 devices. This was introduced in bug 1675159, which refactored
some partial present logic and shifted the order of some OpenGL calls
around. As a precaution, we disabled the feature on all Mali-Gxx
devices.

The bug seems to occur when eglSetDamageRegion is called after
rendering to an offscreen render target (in this case due to texture
cache or GPU cache updates), but without the driver being flushed in
some way. This appears to be a bug in the Mali driver.

This patch moves the eglSetDamageRegion call back to its original
location -- after all offscreen render targets have been rendered,
immediately before rendering to the main framebuffer -- which fixes
the issue. It also re-enables the feature on all Mali-Gxx devices.

Differential Revision: https://phabricator.services.mozilla.com/D101018
2021-01-07 14:47:34 +00:00
Andi-Bogdan Postelnicu 7b246e293f Bug 1683551 - Make `gfx` buildable outside of `unified-build` environment. r=sg,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D100209
2021-01-04 14:20:17 +00:00
Mihai Alexandru Michis 2aea8e093c Backed out changeset 465526830144 (bug 1684170) for causing talos failures.
CLOSED TREE
2020-12-25 07:04:27 +02:00
Andrew Osmond 1510060a56 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
2020-12-24 18:23:29 +00:00
Andrew Osmond 112768dbff Bug 1682927 - Ship WebRender to release for Intel users with a refresh rate of up to and including 75 Hz. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D99928
2020-12-16 19:25:19 +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
Jamie Nicol 8c46075595 Bug 1676474 - Disable webrender partial present on Mali-Gxx. r=aosmond
Due to rendering issues reported on a Mali-G77, disable partial
present on all Mali-Gxx devices.

Differential Revision: https://phabricator.services.mozilla.com/D99216
2020-12-09 13:07:33 +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
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Andrew Osmond 2f6f788bc8 Bug 1678907 - Allow gfx.webrender.all to override software WebRender allowlist. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D97858
2020-11-22 14:42:57 +00:00
Andrew Osmond d54e45522a Bug 1677293 - Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel
This patch enables Software WebRender for all Linux users. If their
configuration is also allowlisted for (accelerated) WebRender, then they
will default to that over Software WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D97156
2020-11-20 17:38:53 +00:00
Butkovits Atila 4f241bf0c5 Backed out changeset f6a72042dd56 (bug 1677293) for failures on fullscreen.py. CLOSED TREE 2020-11-20 15:07:42 +02:00
Andrew Osmond 30f43fae5d Bug 1677293 - Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel
This patch enables Software WebRender for all Linux users. If their
configuration is also allowlisted for (accelerated) WebRender, then they
will default to that over Software WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D97156
2020-11-20 11:34:56 +00:00
Narcis Beleuzu 7c34b619e1 Backed out changeset e675571f2d9a (bug 1677293) for GTest failure on GfxConfigManager . CLOSED TREE 2020-11-20 06:58:06 +02:00
Andrew Osmond 1a739849ce Bug 1677293 - Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel
This patch enables Software WebRender for all Linux users. If their
configuration is also allowlisted for (accelerated) WebRender, then they
will default to that over Software WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D97156
2020-11-20 00:57:07 +00:00
Cristina Coroiu a6ec96e2b1 Backed out changeset 2991f291f95f (bug 1677293) for Wd failures at mozilla/webdriver/take_full_screenshot/iframe.py on a CLOSED TREE 2020-11-18 13:29:18 +02:00
Andrew Osmond 81c30b5780 Bug 1677293 - Enable Software WebRender on Linux nightly for small/medium screens. r=jrmuizel
This patch enables Software WebRender for all Linux users. If their
configuration is also allowlisted for (accelerated) WebRender, then they
will default to that over Software WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D97156
2020-11-18 00:42:24 +00:00
Matt Woodrow 69e9ee97f9 Bug 1677818 - Allow running WebRender on ANGLE in the parent process outside of Nightly. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D97344
2020-11-17 19:34:22 +00:00
Andrew Osmond 14c1a2a995 Bug 1676925 - Remove code supporting the defunct WebRender experiments. r=jrmuizel,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D96943
2020-11-13 05:40:10 +00:00
Matt Woodrow c347392269 Bug 1676719 - Allow WebRender ANGLE in parent process for Nightly. r=jrmuizel
Depends on D96766

Differential Revision: https://phabricator.services.mozilla.com/D96768
2020-11-12 01:31:19 +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 eb7cd09979 Bug 1674195 - Allow WebRender for Intel laptop users without DirectComposition. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D95190
2020-10-29 20:21:58 +00:00
Jeff Muizelaar fcfa9a589a Bug 1673715 - Make gfx.webrender.software a static pref. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D94885
2020-10-27 20:34:59 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Mihai Alexandru Michis d38909b148 Backed out changeset 3714bd86365f (bug 1672489) for accidentally disabling wr on Win7.
CLOSED TREE
2020-10-26 15:57:01 +02:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Jeff Muizelaar 07cb9dd9f8 Bug 1672489 - Don't restrict DirectComposition to Win10 on Nightly. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D94359
2020-10-23 21:33:02 +00:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00