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

191 Коммитов

Автор SHA1 Сообщение Дата
sotaro 3ece048a1b Bug 1829063 - Split video overlay feature of software decoded video from nsIGfxInfo::FEATURE_VIDEO_OVERLAY r=gfx-reviewers,lsalzman
Current gecko enables "software decoded video overlay" only when "hardware decoded video overlay" is enabled. On current release, "hardware decoded video overlay" is not enabled yet with non-Intel GPU, then "software decoded video overlay" is not yet enabled on release. It is not good. We want to enable "software decoded video overlay" independently from "hardware decoded video overlay". Then settings of video overlay is split between "hardware decoded video overlay" and "software decoded video overlay". Then "software decoded video overlay" could be enabled/disabled independently from status of "hardware decoded video overlay".

* settings of hardware decoded video overlay
- nsIGfxInfo::FEATURE_VIDEO_OVERLAY:
- gfx.webrender.dcomp-video-hw-overlay-win
- gfx.webrender.dcomp-video-hw-overlay-win-force-enabled
- gfxVars::UseWebRenderDCompVideoHwOverlayWin()

* settings of software decoded video overlay
- nsIGfxInfo::FEATURE_VIDEO_SOFTWARE_OVERLAY
- gfx.webrender.dcomp-video-sw-overlay-win
- gfx.webrender.dcomp-video-sw-overlay-win-force-enabled
- gfxVars::UseWebRenderDCompVideoSwOverlayWin()

Differential Revision: https://phabricator.services.mozilla.com/D175993
2023-06-22 00:21:07 +00:00
stransky c1968f2af4 Bug 1831038 Add FEATURE_H264_HW_DECODE / FEATURE_AV1_HW_DECODE to track HW decode state on Linux r=alwu
- Add H264_HW_DECODE / AV1_HW_DECODE features to track H264/AV1 decoding state on Linux.
- Add UseH264HwDecode / UseAV1HwDecode gfx variables to route decode state to RDD process.
- Init H264_HW_DECODE / AV1_HW_DECODE features on Linux only and skip all HW decoding features init if VA-API is not supported.

Differential Revision: https://phabricator.services.mozilla.com/D177021
2023-05-11 09:58:21 +00:00
Emilio Cobos Álvarez 3a46916749 Bug 1812698 - Expose desktopEnvironment via nsIXULRuntime rather than nsIGfxInfo. r=stransky
This is:

 * An easier way for browser code to access it.
 * Avoids having a bunch of per-platform implementations.
 * We don't need to actually get graphics info for it to work.

So it should be a bit nicer over all.

Differential Revision: https://phabricator.services.mozilla.com/D168373
2023-02-01 13:14:50 +00:00
Sylvestre Ledru 1f8d23143a Bug 1802288 - remove trailing whitespaces in idl/webidl files r=credential-management-reviewers,webidl,smaug,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D165559
2022-12-28 09:52:44 +00:00
Lee Salzman e599e9d352 Bug 1806058 - Add blocklist for Accelerated Canvas2D. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D164881
2022-12-16 20:15:49 +00:00
Andrew Osmond 77b6b3ccc7 Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel,webcompat-reviewers,twisniewski
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160122
2022-10-28 12:36:06 +00:00
Cristian Tuns 1303ee58d8 Backed out 3 changesets (bug 1794722) for causing multiple failures on RemoteProcessMonitor CLOSED TREE
Backed out changeset 0217af5b1aa6 (bug 1794722)
Backed out changeset d7805be9dfb3 (bug 1794722)
Backed out changeset 0093f071f1a5 (bug 1794722)
2022-10-27 20:52:36 -04:00
Andrew Osmond f8dc716e8d Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel,webcompat-reviewers,twisniewski
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160122
2022-10-28 00:08:04 +00:00
Andrew Osmond 5a36e3dd85 Bug 1785366 - Blocklist backdrop filter on some Ivy/Sandybridge Intel Windows drivers. r=jrmuizel,emilio
Backdrop filter crashes newer Intel drivers on Windows. This patch adds
support to the blocklist infrastructure for backdrop filter, and hooks
this up with the CSS property table.

Differential Revision: https://phabricator.services.mozilla.com/D154950
2022-08-18 12:29:20 +00:00
Marian-Vasile Laza d774d6ecb3 Backed out changeset 49c7536f01db (bug 1785366) for causing xpcshell failures on test_css-properties-db.js. CLOSED TREE 2022-08-18 07:41:44 +03:00
Andrew Osmond 96648c7055 Bug 1785366 - Blocklist backdrop filter on some Ivy/Sandybridge Intel Windows drivers. r=jrmuizel,emilio
Backdrop filter crashes newer Intel drivers on Windows. This patch adds
support to the blocklist infrastructure for backdrop filter, and hooks
this up with the CSS property table.

Differential Revision: https://phabricator.services.mozilla.com/D154950
2022-08-18 03:21:27 +00:00
az 805f4822ab Bug 1766308 - Add gfxVars::CodecSupportInfo to store user-readable codec support string r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147386
2022-07-22 23:08:08 +00:00
Cristian Tuns 296431b106 Backed out 8 changesets (bug 1754239, bug 1766307, bug 1766308, bug 1766310) for causing build bustages on Logging.h CLOSED TREE
Backed out changeset 50918938a839 (bug 1766307)
Backed out changeset 19800bb8974e (bug 1766307)
Backed out changeset 40ec82794497 (bug 1766310)
Backed out changeset 4f860e20098c (bug 1754239)
Backed out changeset f54eac410bfd (bug 1754239)
Backed out changeset c8cc5e0c89dd (bug 1766307)
Backed out changeset d7aab4098f12 (bug 1766308)
Backed out changeset a7ffa6f44fe8 (bug 1766307)
2022-07-19 21:20:07 -04:00
az 86d8351f49 Bug 1766308 - Add gfxVars::CodecSupportInfo to store user-readable codec support string r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147386
2022-07-19 23:27:39 +00:00
Norisz Fay 82c8f892b0 Backed out 8 changesets (bug 1754239, bug 1766308, bug 1766307, bug 1766310) for causing build bustages on UtilityAudioDecoderParent.cpp CLOSED TREE
Backed out changeset e383703e28cf (bug 1766307)
Backed out changeset 5fb04c68ae7a (bug 1766307)
Backed out changeset ee76505a46ff (bug 1766310)
Backed out changeset d76eae67ae79 (bug 1754239)
Backed out changeset fed974dcf641 (bug 1754239)
Backed out changeset 67c5fbd546a1 (bug 1766307)
Backed out changeset da49735366d2 (bug 1766308)
Backed out changeset 81ccd31d0f07 (bug 1766307)
2022-07-14 04:03:19 +03:00
az 4e1baacec1 Bug 1766308 - Add gfxVars::CodecSupportInfo to store user-readable codec support string r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147386
2022-07-14 00:32:37 +00:00
Robert Mader f922ff35ad Bug 1777927 - Force-disable VAAPI if vaapitest() failed, r=gfx-reviewers,aosmond
`vaapitest()` is meant to be a sanity check. If it failed there's
likely something very broken about the driver and we log gfx
warnings accordingly, allowing to debug the problem.

Ensure to force-disable VAAPI in this case but still allow users
to enable the feature in blocklisted cases.

While on it add some additional fixes for issues encoutered while
testing:
- `InitVAAPIConfig()` was not run on X11-only builds, wrongly
  setting `sLayersSupportsHardwareVideoDecoding` to `true` there
  on allowlisted drivers. Thus replace `MOZ_WAYLAND` with
  `MOZ_WIDGET_GTK`, ensuring the "Wayland support missing" warning
  is shown in `about:support`.
- `UserForceEnable` must be run before `ForceDisable`, otherwise an
  assert is triggered on debug builds. Reorder this.
- `GetFeatureStatus` was run twice for
  `FEATURE_HARDWARE_VIDEO_DECODING`, once in `InitAcceleration()` in the
  common code path, the again in `InitVAAPIConfig()`. Untangle the common
  code path to only run `InitVAAPIConfig()`.
- Use the chance to turn `media.hardware-video-decoding.enabled` into a
  static pref so it matches `media.hardware-video-decoding.force-enabled`

Differential Revision: https://phabricator.services.mozilla.com/D150959
2022-07-12 01:49:39 +00:00
Butkovits Atila 071d1fd9a9 Backed out changeset eae66c448e16 (bug 1777927) for causing failures at test_gfxBlacklist_Version.js. CLOSED TREE 2022-07-12 04:37:54 +03:00
Robert Mader 23d8b84193 Bug 1777927 - Force-disable VAAPI if vaapitest() failed, r=gfx-reviewers,aosmond
`vaapitest()` is meant to be a sanity check. If it failed there's
likely something very broken about the driver and we log gfx
warnings accordingly, allowing to debug the problem.

Ensure to force-disable VAAPI in this case but still allow users
to enable the feature in blocklisted cases.

While on it add some additional fixes for issues encoutered while
testing:
- `InitVAAPIConfig()` was not run on X11-only builds, wrongly
  setting `sLayersSupportsHardwareVideoDecoding` to `true` there
  on allowlisted drivers. Thus replace `MOZ_WAYLAND` with
  `MOZ_WIDGET_GTK`, ensuring the "Wayland support missing" warning
  is shown in `about:support`.
- `UserForceEnable` must be run before `ForceDisable`, otherwise an
  assert is triggered on debug builds. Reorder this.
- `GetFeatureStatus` was run twice for
  `FEATURE_HARDWARE_VIDEO_DECODING`, once in `InitAcceleration()` in the
  common code path, the again in `InitVAAPIConfig()`. Untangle the common
  code path to only run `InitVAAPIConfig()`.
- Use the chance to turn `media.hardware-video-decoding.enabled` into a
  static pref so it matches `media.hardware-video-decoding.force-enabled`

Differential Revision: https://phabricator.services.mozilla.com/D150959
2022-07-12 00:00:59 +00:00
stransky bea11a62d5 Bug 1773282 [Linux] Remove nsIGfxInfo::FEATURE_VAAPI and use nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING r=alwu
nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING is used on all platforms so let's use it on Linux too and don't add new feature for Linux only.

Differential Revision: https://phabricator.services.mozilla.com/D149765
2022-06-29 12:09:02 +00:00
sotaro b15ea105d5 Bug 1776800 - Let zero copy hardware decoded video to release on intel GPU on Windows r=jrmuizel,gfx-reviewers
Reuse decoder device also to release on intel GPU on Windows, since it is also necessary for zero copy hardware decoded video.
Reuse decoder device handling is also updated as aligned to FEATURE_HW_DECODED_VIDEO_ZERO_COPY.

Differential Revision: https://phabricator.services.mozilla.com/D150448
2022-06-28 21:54:36 +00:00
Bogdan Szekely 399c93b211 Backed out 4 changesets (bug 1773282) for causing xpcshell failures on test_gfxBlacklist_Version.js CLOSED TREE
Backed out changeset c9134683c1db (bug 1773282)
Backed out changeset a2d33cd0de61 (bug 1773282)
Backed out changeset 3024ad3df3db (bug 1773282)
Backed out changeset a1a1a1c7d622 (bug 1773282)
2022-06-28 16:06:39 +03:00
stransky a961fafee3 Bug 1773282 [Linux] Remove nsIGfxInfo::FEATURE_VAAPI and use nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING r=alwu
nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING is used on all platforms so let's use it on Linux too and don't add new feature for Linux only.

Differential Revision: https://phabricator.services.mozilla.com/D149765
2022-06-28 12:10:37 +00:00
Martin Stransky 3a7a803654 Bug 1774271 [Linux] Use DMABUF_SURFACE_EXPORT feature to control dmabuf surface export from EGLImage and disable that on Mesa/Intel and Mesa/AMD r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D149984
2022-06-27 05:54:52 +00:00
Iulian Moraru de1c46fa2a Backed out 4 changesets (bug 1773282) for causing bp-hybrid bustages on FFmpegLibWrapper. CLOSED TREE
Backed out changeset 0ec631549071 (bug 1773282)
Backed out changeset c370d6fa2f1f (bug 1773282)
Backed out changeset a69d65742893 (bug 1773282)
Backed out changeset 6c9325e96448 (bug 1773282)
2022-06-25 12:07:40 +03:00
stransky 20d789184c Bug 1773282 [Linux] Remove nsIGfxInfo::FEATURE_VAAPI and use nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING r=alwu
nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING is used on all platforms so let's use it on Linux too and don't add new feature for Linux only.

Differential Revision: https://phabricator.services.mozilla.com/D149765
2022-06-25 05:24:47 +00:00
sotaro 62aba43325 Bug 1770950 - Rename HW_DECODED_VIDEO_NO_COPY to HW_DECODED_VIDEO_ZERO_COPY r=gfx-reviewers,lsalzman
Another decoded video no copies were renamed to decoded video zero copies by  Bug 1766282.

Differential Revision: https://phabricator.services.mozilla.com/D147188
2022-05-25 00:14:06 +00:00
Emilio Cobos Álvarez 31d3fcdb9b Bug 1767172 - Remove custom screen info handling from GfxInfo, use ScreenManager for that. r=jrmuizel,handyman,stransky
This removes a bunch of custom code from GfxInfo to obtain screen
information, and instead collects that screen information in
ScreenManager.

This, apart of removing duplicated code, has the extra benefit of
reporting multi-monitor information on GTK (and potentially in the
future reporting scale and refresh rate properly as well, I've kept the
telemetry as it was on that regard).

Differential Revision: https://phabricator.services.mozilla.com/D145178
2022-05-06 23:37:25 +00:00
Cosmin Sabou 4ddcb34203 Backed out changeset b2bea8e0b400 (bug 1767172) for causing startup crashes (Bug 1768260). a=backout 2022-05-07 01:28:53 +03:00
Emilio Cobos Álvarez 9d430bf4ed Bug 1767172 - Remove custom screen info handling from GfxInfo, use ScreenManager for that. r=jrmuizel,handyman,stransky
This removes a bunch of custom code from GfxInfo to obtain screen
information, and instead collects that screen information in
ScreenManager.

This, apart of removing duplicated code, has the extra benefit of
reporting multi-monitor information on GTK (and potentially in the
future reporting scale and refresh rate properly as well, I've kept the
telemetry as it was on that regard).

Differential Revision: https://phabricator.services.mozilla.com/D145178
2022-05-05 15:07:03 +00:00
sotaro c24f60bb9d Bug 1763280 - Enable avoid copying hardware decoded video on intel GPU on Window on nightly r=jrmuizel,gfx-reviewers
Blocked intel drivers are from chromium's "disable_dxgi_zero_copy_video" in gpu_driver_bug_list.json

Differential Revision: https://phabricator.services.mozilla.com/D143017
2022-04-07 14:38:17 +00:00
sotaro a85bae612a Bug 1760724 - Let video overlay ride the trains to release on intel GPU on Windows r=gfx-reviewers,lsalzman
pref gfx.webrender.dcomp-video-overlay-win-force-enabled was added to enable video overlay even when it is blocked.

Differential Revision: https://phabricator.services.mozilla.com/D141712
2022-03-29 02:47:18 +00:00
Andrew Osmond 78afd0ab38 Bug 1760663 - Add blocklist support for WebGPU. r=gfx-reviewers,nical
This patch just adds the plumbing to allow for baked in blocklist rules
or the downloadable blocklist to prevent certain configurations from
getting WebGPU. It does not add any rules.

It also changes us from allowing WebGPU only in nightly, including
tests, to not release and not beta. This allows try to run the WebGPU
tests as expected, since even try builds forked from mozilla-central are
not considered nightly builds by CI (or so it seems).

Differential Revision: https://phabricator.services.mozilla.com/D141682
2022-03-22 15:22:39 +00:00
stransky f677662932 Bug 1751987 [Linux] Add VA-API feature r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D139301
2022-02-23 11:47:07 +00:00
Jamie Nicol a01c2107a2 Bug 1754159 - Correctly wait for GPU process to be restarted in test. r=tnikkel
Bug 1742985 added the test helper_zoom_after_gpu_process_restart.html,
but it doesn't actually get run on any platform with the GPU process
enabled. (Due to bug 1495580 on windows, and because the GPU process
isn't yet enabled on android.)

The test kills the GPU process, then tries to wait for it to be
restarted before proceeding. However, the function
ensureGPUProcessReadyForTests doesn't always work as intended, as the
GPUProcessManager may not have yet noticed that the process has been
killed, and therefore may return immediately from EnsureGPUReady.

This patch removes the buggy ensureGPUProcessReadyForTests function,
and instead makes the test wait for the "compositor-reinitialized"
topic to be observed.

Differential Revision: https://phabricator.services.mozilla.com/D138125
2022-02-08 12:06:15 +00:00
Andrew Osmond 62fe89a23e Bug 1751252 - Block partial present on Linux NVIDIA and ship X11 EGL with NVIDIA to release. r=rmader,jrmuizel,jnicol
Differential Revision: https://phabricator.services.mozilla.com/D136518
2022-01-21 16:24:06 +00:00
Jamie Nicol 01c1cad628 Bug 1742985 - Add more methods to nsIGfxInfo for GPU process testing. r=tnikkel
Add KillGPUProcessForTests, which kills the GPU process without
generating a crash dump (unlike the existing CrashGPUProcessForTests).

Additionally add EnsureGPUProcessReadyForTests, which returns a
promise that resolves to true when the GPU process is enabled and
ready, and false if it is disabled. If called while the GPU process is
being (re)started, it will not resolve until it has finished launching
(or was disabled due to error).

Finally, make GPUProcessHost::IsConnected check whether the process
handle is valid. This ensures it returns false immediately following a
call to KillProcess but prior to the GPUChild being destroyed. This
means tests can call EnsureGPUProcessReadyForTests immediately after
KillGPUProcessForTests or CrashGPUProcessForTests, and it will
reliably wait for the new process to launch, as intended.

Depends on D135207

Differential Revision: https://phabricator.services.mozilla.com/D135328
2022-01-07 13:27:49 +00:00
Jamie Nicol 3e2edea9fd Bug 1743454 - Add junit test to ensure GPU process crash triggers GeckoView crash reporter. r=agi,aosmond
Add a function to GPUProcessManager to force the GPU process to crash,
and expose it through gfxInfo. Expose this to geckoview tests via the
test-support webextension.

Add a junit test GpuCrashTest, which triggers a GPU process crash and
ensures the crash reporter was notified.

Additionally, ensure the TestCrashHandler service is stopped in
between tests, as otherwise only the first crash test to run will be
notified of the crash.

Differential Revision: https://phabricator.services.mozilla.com/D132812
2021-12-08 19:08:17 +00:00
Timothy Nikkel 35a0a509c6 Bug 1734571. Remove old unused layers tiling left over code bits. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D127787
2021-10-19 10:12:25 +00:00
Andrew Osmond aa22206ca2 Bug 1727603 - Remove gfxVars::UseOMTP. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123676
2021-08-25 19:56:01 +00:00
Jeff Muizelaar bc83bb5886 Bug 1726672 - Remove PaintThread. r=mattwoodrow
Basically just rm PaintThread.cpp and get things to build.

Differential Revision: https://phabricator.services.mozilla.com/D123170
2021-08-20 13:20:44 +00:00
Andrew Osmond 4a288852e3 Bug 1724794 - Remove Software WebRender allow/blocklist plumbing. r=gfx-reviewers,jrmuizel
We don't use this anymore for anything.

Differential Revision: https://phabricator.services.mozilla.com/D122254
2021-08-11 14:07:02 +00:00
Chris Martin e8085e7ecb Bug 1698732 - Change reftest-content to get Azure info without Win32k APIs r=bas,emilio
Currently, reftest-content uses GfxInfo::GetInfo() to obtain information about
the Azure backend. GetInfo() uses Win32k APIs, and therefore will mostly
return garbage in content processes.

This adds a new way to obtain the same information directly from GfxInfo
without using Win32k APIs.

Differential Revision: https://phabricator.services.mozilla.com/D111890
2021-04-27 15:17:12 +00:00
Jamie Nicol 7abb7ce304 Bug 1615574 - Disable webrender shader cache on Adreno 3xx. r=aosmond
Loading cached shaders with glProgramBinary fails consistently for all
but the most trivial of our shaders on Adreno 3xx, so caching and
attempting to load them is a waste of time. Chromium and other
projects also appear to have disabled their shader caches on Adreno
3xx due to bugs.

This patch moves the gfx.webrender.program-binary-disk pref
declaration from all.js to StaticPrefList.yaml. Rather than directly
using the value of the pref to decide whether to create the shader
cache, we now initialize a Feature in gfxConfigManager with a default
value from the pref and then configure it from the blocklist. On
Android we block the feature on Adreno 3xx devices. The pref remains
true by default on Android and Windows, and false by default on Linux
and Macos.

Differential Revision: https://phabricator.services.mozilla.com/D111427
2021-04-12 15:14:12 +00:00
Andrew Osmond 86da16f9a5 Bug 1696071 - Add support for DMABuf to the blocklist. r=rmader
Differential Revision: https://phabricator.services.mozilla.com/D107019
2021-03-16 20:14:51 +00:00
Andrew Osmond 46ef42b1f0 Bug 1689464 - Add support for X11 EGL to the blocklist. r=rmader
Differential Revision: https://phabricator.services.mozilla.com/D106927
2021-03-02 15:49:06 +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