searching for reviewer(mattwoodrow)
02ca5fb23f53345e0c230dcc4a40e7933eca6271: Bug 1708083. Schedule a paint when the presshell resolution changes. r=mattwoodrow, a=RyanVM
Timothy Nikkel <tnikkel@gmail.com> - Wed, 28 Apr 2021 04:32:13 +0000 - rev 644421
Push 15400 by ryanvm@gmail.com at Wed, 05 May 2021 00:38:26 +0000
Bug 1708083. Schedule a paint when the presshell resolution changes. r=mattwoodrow, a=RyanVM Surprisingly nothing actually schedules a paint when the resolution changes. This probably wasn't a problem because when the resolution changes almost certainly something else is changing that causes a paint too (scroll position, display port, etc). We hit this in the test I wrote for bug 1706868. We double tap zoom in. In the last RequestContentRepaint from apz to content the only thing that changes is the resolution by a small amount. If he scroll offset or display port margins changed we'd ask for a paint, but evidently they do not. Content updates it's resolution, but since it does not generate a paint apz never gets notified about this, so it thinks content has a slightly different resolution. Then the test starts a double tap zoom out. When it notifies content of the new resolutions APZCCallbackHelper does nothing because of this line https://searchfox.org/mozilla-central/rev/4648b6ee31c2519b1753023e4f4853b14fdd16e5/gfx/layers/apz/util/APZCCallbackHelper.cpp#335 where it detects that the content resolution and what apz thinks is the content resolution differ by too much, so it thinks the request from apz is out of date and ignores it. Differential Revision: https://phabricator.services.mozilla.com/D113614
6196a07d7399e178c16572b9d9de380e10a06393: Bug 1705979 - Add support for nearest filtered scaled composites to SWGL. r=mattwoodrow
Lee Salzman <lsalzman@mozilla.com> - Mon, 19 Apr 2021 03:34:42 +0000 - rev 644062
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1705979 - Add support for nearest filtered scaled composites to SWGL. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D112493
5cbc2244cf4e4022eea6aed47ecca635ed2a6126: Bug 1704445: Take read lock before write lock when copying previous texture to new back buffer. r=mattwoodrow
Bob Owen <bobowencode@gmail.com> - Fri, 16 Apr 2021 10:40:45 +0000 - rev 643906
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1704445: Take read lock before write lock when copying previous texture to new back buffer. r=mattwoodrow This is to try and prevent deadlocks between the compositor/renderer threads and the canvas threads. Differential Revision: https://phabricator.services.mozilla.com/D111853
7b2615a656e4a814da5e4d8491df91416d610078: Bug 1658924: Implement HTTPS-First and automatically fall back to http if secure top-level connection is not available r=necko-reviewers,JulianWels,mattwoodrow,dragana
Christoph Kerschbaumer <ckerschb@christophkerschbaumer.com> - Tue, 13 Apr 2021 17:43:12 +0000 - rev 643283
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1658924: Implement HTTPS-First and automatically fall back to http if secure top-level connection is not available r=necko-reviewers,JulianWels,mattwoodrow,dragana Differential Revision: https://phabricator.services.mozilla.com/D111686
5a9d146f18a06861c3e181165ff9d154a01bf01b: Bug 1703724 - Don't set the color space on macOS HW decoded video. r=mattwoodrow
Jeff Muizelaar <jmuizelaar@mozilla.com> - Thu, 08 Apr 2021 11:00:12 +0000 - rev 642605
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1703724 - Don't set the color space on macOS HW decoded video. r=mattwoodrow It is already set by VideoCore to a profile with 1.9 gamma. This causes hw decoded video to have a different color profile than software decoded video which isn't ideal but matches what happens in Chrome. Differential Revision: https://phabricator.services.mozilla.com/D111218
fd4a2d6f63f4bebfbd4aa16159a892d24e468496: Bug 1702530 - do not launch RDD process if XPCOM has started shutdown. r=mattwoodrow
alwu <alwu@mozilla.com> - Wed, 07 Apr 2021 04:42:35 +0000 - rev 642231
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1702530 - do not launch RDD process if XPCOM has started shutdown. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D110982
fe5b354258b0f28d7999b085f0cf74f39628bab0: Bug 1701292: Remove deleted subdirectory from layout/reftests/backgrounds/reftest.list. r=mattwoodrow
Jim Blandy <jimb@mozilla.com> - Mon, 29 Mar 2021 17:41:15 +0000 - rev 641170
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1701292: Remove deleted subdirectory from layout/reftests/backgrounds/reftest.list. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D109941
e200973af09a24414663194aa4db38b016a36126: Bug 1701135 - Share ShaderProgramOGLs between CompositorOGLs during sw-wr + CompositorOGL r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Sun, 28 Mar 2021 23:55:05 +0000 - rev 641081
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1701135 - Share ShaderProgramOGLs between CompositorOGLs during sw-wr + CompositorOGL r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D109856
6ca5eb7fca2a7d4a34a2e2d1a0490485103aa2ab: Bug 1523500 - Introduce nsLayoutUtils::IsAncestorFrameCrossDocInProcess and use it to find an ASR for perspective display items. r=mattwoodrow
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Fri, 26 Mar 2021 03:48:11 +0000 - rev 640938
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1523500 - Introduce nsLayoutUtils::IsAncestorFrameCrossDocInProcess and use it to find an ASR for perspective display items. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D109447
95dbe830d8bfa22ccaf932329736e85a58ec5e1d: Bug 1699533: Push most uses of AutoSerializeWithMoz2D in canvas classes into D3D11TextureData. r=mattwoodrow
Bob Owen <bobowencode@gmail.com> - Fri, 26 Mar 2021 09:21:08 +0000 - rev 640788
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1699533: Push most uses of AutoSerializeWithMoz2D in canvas classes into D3D11TextureData. r=mattwoodrow This should ensure that we are more rigorous about always serializing when required. For example in this crash it appears the issue is that we are not using it when destroying the textures still held by the CanvasTranslator on its destruction. It also means that we can minimize the code that is serialized, which should reduce contention and possible deadlocks. This patch also ensures that we drop any other references to the texture's DrawTarget before dropping the texture, so that it can control the destruction of its DrawTarget including any locking. Differential Revision: https://phabricator.services.mozilla.com/D109771
b210027c920358c08ed92ca72f68aaa952f32f84: Bug 1523500 - Introduce nsLayoutUtils::IsAncestorFrameCrossDocInProcess and use it to find an ASR for perspective display items. r=mattwoodrow
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Fri, 26 Mar 2021 03:48:11 +0000 - rev 640754
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1523500 - Introduce nsLayoutUtils::IsAncestorFrameCrossDocInProcess and use it to find an ASR for perspective display items. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D109447
6b8ac677390725a655cb785641af11a1af0c0237: Bug 1700949 - Set pref gfx.webrender.fallback.software to false on Android r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Fri, 26 Mar 2021 00:50:08 +0000 - rev 640738
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1700949 - Set pref gfx.webrender.fallback.software to false on Android r=mattwoodrow Support of fallback to sw-wr is not completed yet on Android. Differential Revision: https://phabricator.services.mozilla.com/D109831
9bd3506f2809b91bc1646550ed11e84a1c225a8a: Bug 1689156 - Bring the fast tab switch paint back r=mstange,mattwoodrow
Sean Feng <sefeng@mozilla.com> - Mon, 22 Mar 2021 20:49:04 +0000 - rev 640047
Push 15309 by ffxbld-merge at Mon, 19 Apr 2021 17:51:21 +0000
Bug 1689156 - Bring the fast tab switch paint back r=mstange,mattwoodrow In bug 1669239, we removed the magic paint which would occur during tab switches, and instead we requested a tick. However, this approach didn't work well because tick was a heavy operation which did not only paints but also many other stuff, such as running requestAnimationFrame handlers, so it made the tab switches slower under certain conditions. So here we reverts the changes we made in bug 1669239. Differential Revision: https://phabricator.services.mozilla.com/D107858
4d7a47f1cc1a308a4060e0aa9433f5dcf2c2fae9: Bug 1699533: Push most uses of AutoSerializeWithMoz2D in canvas classes into D3D11TextureData. r=mattwoodrow, a=RyanVM
Bob Owen <bobowencode@gmail.com> - Fri, 26 Mar 2021 09:21:08 +0000 - rev 639774
Push 15250 by ryanvm@gmail.com at Tue, 30 Mar 2021 16:15:19 +0000
Bug 1699533: Push most uses of AutoSerializeWithMoz2D in canvas classes into D3D11TextureData. r=mattwoodrow, a=RyanVM This should ensure that we are more rigorous about always serializing when required. For example in this crash it appears the issue is that we are not using it when destroying the textures still held by the CanvasTranslator on its destruction. It also means that we can minimize the code that is serialized, which should reduce contention and possible deadlocks. This patch also ensures that we drop any other references to the texture's DrawTarget before dropping the texture, so that it can control the destruction of its DrawTarget including any locking. Differential Revision: https://phabricator.services.mozilla.com/D109771
1f0e13aecced550af3f1428085406a73b589db78: Bug 1663757 - Part 2: Don't suspend webProgress on process switch, r=annyG,mattwoodrow
Nika Layzell <nika@thelayzells.com> - Tue, 09 Mar 2021 15:29:40 +0000 - rev 637644
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1663757 - Part 2: Don't suspend webProgress on process switch, r=annyG,mattwoodrow Previously, we would need to suspend progress events from the previous BrowserParent, as otherwise we would receive STATE_STOP progress notifications from the previous browser when it is destroyed, which would throw off frontend code. With the new checks added by part 1, we will now catch these cases by detecting that the current window global has changed, and we can get rid of this explicit override. Differential Revision: https://phabricator.services.mozilla.com/D105557
10a646d0c74ac68c3621e0698a62dd1e847a8796: Bug 1663757 - Part 1: Include BrowsingContext info in WebProgressData, r=mattwoodrow
Nika Layzell <nika@thelayzells.com> - Tue, 09 Mar 2021 15:29:40 +0000 - rev 637643
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1663757 - Part 1: Include BrowsingContext info in WebProgressData, r=mattwoodrow This change allows associating individual web progress events with which frame they originate from, rather than only recording the `isToplevel` information as we were before, which is necessary in order to use the OnLocationChange events from content to track the current URI on CanonicalBrowsingContext. Due to events in ContentChild being filtered through nsBrowserStatusFilter, some of the callbacks will never be passed nsIRequest or nsIWebProgress pointers, and this patch also simplifies them by removing information which is not necessary from the IPC message. Finally, this patch adds a number of checks to the relevant Recv callbacks in the parent process which help ensure that it does not accept web progress events from a content process which is no longer hosting the target BrowsingContext. This may allow for us to stop manually suspending web progress events on process switches, as these checks will handle this automatically based on the existing BrowsingContext and WindowContext objects. Differential Revision: https://phabricator.services.mozilla.com/D105556
7983cae85e29147eddc69693b3dfb2cae086ef28: Bug 1696325 - Handle StagingTexture allocation failure in RenderCompositorD3D11SWGL r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 08 Mar 2021 23:41:58 +0000 - rev 637511
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1696325 - Handle StagingTexture allocation failure in RenderCompositorD3D11SWGL r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D107176
c62fb4ce39a014e525e845fb6a81b3def91ad50c: Bug 1695752 - Make RegisterThemeGeometry handle axis-aligned rectangles. r=mattwoodrow
Markus Stange <mstange@themasta.com> - Thu, 04 Mar 2021 22:47:55 +0000 - rev 637091
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1695752 - Make RegisterThemeGeometry handle axis-aligned rectangles. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D106828
33aeef90f53f5ec7e370972cfe13c6d128eaca61: Bug 1692957 - reject promise if RDD has been destroyed. r=mattwoodrow
alwu <alwu@mozilla.com> - Tue, 02 Mar 2021 06:18:36 +0000 - rev 636550
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1692957 - reject promise if RDD has been destroyed. r=mattwoodrow This could happen if RDD crashed right after it created, then `RDDProcessManager` would clean `mProcess` and `mRDDChild` before running the lambda. Depends on D106827 Differential Revision: https://phabricator.services.mozilla.com/D106837
bf32f5089547afa36393ab6771b45e7ab5ba61ef: Bug 1685666 - check RDDChild before creating content bridge. r=mattwoodrow
alwu <alwu@mozilla.com> - Tue, 02 Mar 2021 06:18:36 +0000 - rev 636549
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1685666 - check RDDChild before creating content bridge. r=mattwoodrow As the process of creating content process is async, the RDD process might be shutdown before that (eg. crash). So we should check if RDD still exists first. Differential Revision: https://phabricator.services.mozilla.com/D106827
ab3f57381f672f1b97124395461891ce6902ca73: Bug 1682713 - Recreate the CVDisplayLink after display reconfigurations. r=mattwoodrow
Markus Stange <mstange.moz@gmail.com> - Mon, 01 Mar 2021 20:56:25 +0000 - rev 636480
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1682713 - Recreate the CVDisplayLink after display reconfigurations. r=mattwoodrow On M1 machines, the fix from bug 1422855 was not effective; stopping and starting the CVDisplayLink is not enough to cause it to switch to an active display. So we create a new display link, which will pick an active display. This patch is written to be minimum impact and easy to uplift. More cleanup is needed in the future. Differential Revision: https://phabricator.services.mozilla.com/D106744
d2515d89f7de906bf204d07659b4e2c4d6086bf6: Bug 1695581: Add #if for MOZ_FFVPX around StaticPrefs::media_rdd_ffvpx_enabled in AllDecodersAreRemote. r=mattwoodrow
Bob Owen <bobowencode@gmail.com> - Mon, 01 Mar 2021 19:44:32 +0000 - rev 636469
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1695581: Add #if for MOZ_FFVPX around StaticPrefs::media_rdd_ffvpx_enabled in AllDecodersAreRemote. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D106754
c2a11810933e52b8b527bb277e11f877aec6379a: Bug 1673342 - Add Support of software WebRender with CompositorOGL on Android and Linux r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 01 Mar 2021 13:45:38 +0000 - rev 636424
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1673342 - Add Support of software WebRender with CompositorOGL on Android and Linux r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D106234
de453865d38bbf5d279c3e67c87e672a13ad041e: Bug 1693541 - Improve uses of nsBaseHashtable and descendants and avoid multiple subsequent lookups in dom/html. r=mattwoodrow
Simon Giesecke <sgiesecke@mozilla.com> - Mon, 01 Mar 2021 09:59:29 +0000 - rev 636402
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1693541 - Improve uses of nsBaseHashtable and descendants and avoid multiple subsequent lookups in dom/html. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D106112
155e82611fed1d8d9f67dcc0e492907041142f48: Bug 1694822 - Fix return of RenderCompositorD3D11SWGL::DoCreateTile() r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Fri, 26 Feb 2021 03:56:40 +0000 - rev 636207
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1694822 - Fix return of RenderCompositorD3D11SWGL::DoCreateTile() r=mattwoodrow "return" was removed by mistake. Differential Revision: https://phabricator.services.mozilla.com/D106360
6b30d87e0b90be18fbbae720ef0e48de8f0c2e2f: Bug 1692894 p2: Don't create devices for decoding when all decoders are remote. r=mattwoodrow
Bob Owen <bobowencode@gmail.com> - Thu, 25 Feb 2021 15:10:58 +0000 - rev 636116
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1692894 p2: Don't create devices for decoding when all decoders are remote. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D105631
d5b874ccd877c7d29b820edd7730f2900e5384d1: Bug 1526970 - Part 4: Check the frame for display items rather than DisplayItemData or WebRenderFallbackData in InvalidateFrame() r=mattwoodrow
Miko Mynttinen <mikokm@gmail.com> - Wed, 24 Feb 2021 22:22:19 +0000 - rev 636015
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1526970 - Part 4: Check the frame for display items rather than DisplayItemData or WebRenderFallbackData in InvalidateFrame() r=mattwoodrow Depends on D106165 Differential Revision: https://phabricator.services.mozilla.com/D106166
822a22e21e7a4bc3fd35b4334b210a8befcb2fa3: Bug 1526970 - Part 3: Remove nsPaintedDisplayItem::mDisplayItemData r=mattwoodrow
Miko Mynttinen <mikokm@gmail.com> - Wed, 24 Feb 2021 22:22:18 +0000 - rev 636014
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1526970 - Part 3: Remove nsPaintedDisplayItem::mDisplayItemData r=mattwoodrow Depends on D106164 Differential Revision: https://phabricator.services.mozilla.com/D106165
d5fc307deac1dc69fd8598523c8812cc0ff1e78e: Bug 1526970 - Part 2: Convert nsIFrame::mDisplayItemData to frame property r=mattwoodrow
Miko Mynttinen <mikokm@gmail.com> - Wed, 24 Feb 2021 22:22:18 +0000 - rev 636013
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1526970 - Part 2: Convert nsIFrame::mDisplayItemData to frame property r=mattwoodrow Depends on D104059 Differential Revision: https://phabricator.services.mozilla.com/D106164
fed61f8125dabd2a04ead44a19a5cd5a13db5b37: Bug 1526970 - Part 1: Store the list of display items the frame has as a member variable instead of frame property r=mattwoodrow,emilio
Miko Mynttinen <mikokm@gmail.com> - Wed, 24 Feb 2021 22:22:17 +0000 - rev 636012
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1526970 - Part 1: Store the list of display items the frame has as a member variable instead of frame property r=mattwoodrow,emilio Differential Revision: https://phabricator.services.mozilla.com/D104059
7e0fefcb981cbb1a506a3f42654e2de9ef9256ee: Bug 1688096 - Part 2. Add flag to CompositorOptions to allow SW-WR on a per widget basis. r=mattwoodrow
Andrew Osmond <aosmond@mozilla.com> - Wed, 24 Feb 2021 19:40:00 +0000 - rev 635995
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1688096 - Part 2. Add flag to CompositorOptions to allow SW-WR on a per widget basis. r=mattwoodrow The pref gfx.webrender.software.unaccelerated-widget.allow may be used to allow software WebRender to be used with new windows/popups that have transparency on Windows. Otherwise they would fallback to basic layers. Similarly, the pref gfx.webrender.software.unaccelerated-widget.force may be used to force software WebRender for all windows that would fallback to basic layers. Differential Revision: https://phabricator.services.mozilla.com/D104855
b63a3c2fb7512ea19e9b98718fa10efd61b00f10: Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Andrew Osmond <aosmond@mozilla.com> - Wed, 24 Feb 2021 19:39:59 +0000 - rev 635994
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D104854
6629b9999267436f509eefcd075b2574abd9f184: Bug 1690216 - Clarify that StartRemoteDrawingInRegion does not actually modify the region. r=mattwoodrow
Lee Salzman <lsalzman@mozilla.com> - Wed, 24 Feb 2021 18:34:52 +0000 - rev 635986
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1690216 - Clarify that StartRemoteDrawingInRegion does not actually modify the region. r=mattwoodrow It caused us substantial confusion investigating this bug under the belief that StartRemoteDrawingInRegion may have been modifying the dirty region. None of our existing widget code anymore uses the API in this way, so it makes sense to just force this dirty region to be const so that we no longer support the assumption and alleviate confusion in the future about how our widget code actually behaves. Depends on D106246 Differential Revision: https://phabricator.services.mozilla.com/D106247
b16a82dcc68bac0b87ed0ec8470557ffc1dd1658: Bug 1690216 - Report whether to redraw on invalidation to WR. r=mattwoodrow
Lee Salzman <lsalzman@mozilla.com> - Wed, 24 Feb 2021 14:15:02 +0000 - rev 635946
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1690216 - Report whether to redraw on invalidation to WR. r=mattwoodrow This requires us to plumb CompositorCapabilities to support the extra field. This is complicated by the fact that since it is a Rust struct, it has no default constructor that can pass through to C++ via bindings, so every one of our RenderCompositors was forced to manually initialize fields. To get around this brittle footgun, instead the structure is initialized on the Rust side, and RenderCompositor's are encouraged to only change fields that actually diverge from the defaults as passed in via pointer. Finally, we can then do what we need to do, which is just to send the ForceRedraw message that needs to happen based on what we know about CompositorCapabilities. Differential Revision: https://phabricator.services.mozilla.com/D106246
45b36995cfd6ead7bcb3f0f8a390be6ef257ee04: Bug 1690216 - Report whether to redraw on invalidation to WR. r=mattwoodrow
Lee Salzman <lsalzman@mozilla.com> - Wed, 24 Feb 2021 09:18:33 +0000 - rev 635916
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1690216 - Report whether to redraw on invalidation to WR. r=mattwoodrow This requires us to plumb CompositorCapabilities to support the extra field. This is complicated by the fact that since it is a Rust struct, it has no default constructor that can pass through to C++ via bindings, so every one of our RenderCompositors was forced to manually initialize fields. To get around this brittle footgun, instead the structure is initialized on the Rust side, and RenderCompositor's are encouraged to only change fields that actually diverge from the defaults as passed in via pointer. Finally, we can then do what we need to do, which is just to send the ForceRedraw message that needs to happen based on what we know about CompositorCapabilities. Differential Revision: https://phabricator.services.mozilla.com/D106246
ccfc7c7eb3973902e2781ca9bbd5cfeaf2d1e264: Bug 1677459 - Split platform independent part to RenderCompositorCompositorSWGL r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Tue, 23 Feb 2021 08:57:27 +0000 - rev 635710
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1677459 - Split platform independent part to RenderCompositorCompositorSWGL r=mattwoodrow The change is a preparation of Bug 1673342 Differential Revision: https://phabricator.services.mozilla.com/D99046
8908ec20b4872d452b3131c3659870d50a6432b2: Bug 1677459 - Split platform independent part to RenderCompositorCompositorSWGL r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Mon, 22 Feb 2021 21:55:50 +0000 - rev 635647
Push 15212 by ffxbld-merge at Mon, 22 Mar 2021 14:40:41 +0000
Bug 1677459 - Split platform independent part to RenderCompositorCompositorSWGL r=mattwoodrow The change is a preparation of Bug 1673342 Differential Revision: https://phabricator.services.mozilla.com/D99046
3f263665039a1b3700e4573c5d518146d3f969a7: Bug 1685666 - check RDDChild before creating content bridge. r=mattwoodrow, a=jcristau
alwu <alwu@mozilla.com> - Tue, 02 Mar 2021 06:18:36 +0000 - rev 635443
Push 15173 by jcristau@mozilla.com at Thu, 04 Mar 2021 15:43:13 +0000
Bug 1685666 - check RDDChild before creating content bridge. r=mattwoodrow, a=jcristau As the process of creating content process is async, the RDD process might be shutdown before that (eg. crash). So we should check if RDD still exists first. Differential Revision: https://phabricator.services.mozilla.com/D106827
6bb62034d429f2dbb0a9a0c799b78f2e785ffb72: Bug 1682713 - Recreate the CVDisplayLink after display reconfigurations. r=mattwoodrow, a=jcristau
Markus Stange <mstange.moz@gmail.com> - Mon, 01 Mar 2021 20:56:25 +0000 - rev 635442
Push 15173 by jcristau@mozilla.com at Thu, 04 Mar 2021 15:43:13 +0000
Bug 1682713 - Recreate the CVDisplayLink after display reconfigurations. r=mattwoodrow, a=jcristau On M1 machines, the fix from bug 1422855 was not effective; stopping and starting the CVDisplayLink is not enough to cause it to switch to an active display. So we create a new display link, which will pick an active display. This patch is written to be minimum impact and easy to uplift. More cleanup is needed in the future. Differential Revision: https://phabricator.services.mozilla.com/D106744
c6be492a28c64fa01228ba245d8a30bc061bd91a: Bug 1690216 - Report whether to redraw on invalidation to WR (beta 87). r=mattwoodrow, a=jcristau
Lee Salzman <lsalzman@mozilla.com> - Sun, 28 Feb 2021 12:52:59 -0500 - rev 635413
Push 15164 by jcristau@mozilla.com at Tue, 02 Mar 2021 11:25:56 +0000
Bug 1690216 - Report whether to redraw on invalidation to WR (beta 87). r=mattwoodrow, a=jcristau This requires us to plumb CompositorCapabilities to support the extra field. This is complicated by the fact that since it is a Rust struct, it has no default constructor that can pass through to C++ via bindings, so every one of our RenderCompositors was forced to manually initialize fields. To get around this brittle footgun, instead the structure is initialized on the Rust side, and RenderCompositor's are encouraged to only change fields that actually diverge from the defaults as passed in via pointer. Finally, we can then do what we need to do, which is just to send the ForceRedraw message that needs to happen based on what we know about CompositorCapabilities.
c27aac8c84b70e3611b04fc56927719419aefc64: Bug 1422855 - Tickle the CVDisplayLink after display reconfigurations, to help it get unstuck. r=mattwoodrow FIREFOX_BETA_87_BASE
Markus Stange <mstange.moz@gmail.com> - Mon, 22 Feb 2021 02:31:58 +0000 - rev 635320
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1422855 - Tickle the CVDisplayLink after display reconfigurations, to help it get unstuck. r=mattwoodrow This fixes a problem where the callback just wouldn't be called for the duration of about a minute after fast user switching. I'm hoping it'll also help with a similar problem after screen lock and after sleep (bug 1682713). The documentation for CVDisplayLinkStop says the following: > In macOS 10.4 and later, the display link thread is automatically stopped if > the user employs Fast User Switching. The display link is restarted when > switching back to the original user. This probably works for display links that were created before fast user switching. However, we sometimes create a new CVDisplayLink while our user is "in the background", and this new display link happily keeps running while we're in the background. Then, when switching back to the original user, *that's* when the display link is stopped. And then it eventually starts again. I'm not sure what causes it to re-start. Creating a CVDisplayLink while the machine is fast user switched to a different user is probably not a well-excercised codepath. Things might work more reliably if we keep reusing the same CVDisplayLink instance and just stop and start it as needed. But that's a more risky change that I don't want to uplift. Also, starting to listen for vsync while a different user is the "current" user is probably a mistake anyway. We should find out if there's a way to suspend compositing and drawing in that state. However, it seems that the window doesn't enter the occluded state during this time, because in that case we would de-activate the content docshell and not run requestAnimationFrame callbacks. But the profiler clearly shows rAF running during the switched-away time. I'm seeing the following display reconfiguration callbacks during fast user switching, 2077750265 being the display link's current display: ``` [1] DisplayReconfiguration for 2077750265: BeginConfiguration [2] DisplayReconfiguration for 1104977158: BeginConfiguration [3] DisplayReconfiguration for 2077750265: Remove Disabled [4] DisplayReconfiguration for 1104977158: Moved SetMain SetMode Add Enabled [5] DisplayReconfiguration for 1104977158: BeginConfiguration [6] DisplayReconfiguration for 2077750265: BeginConfiguration [7] DisplayReconfiguration for 1104977158: Remove Disabled DesktopShapeChanged [8] DisplayReconfiguration for 2077750265: Moved SetMain SetMode Add Enabled DesktopShapeChanged ``` With this patch, we restart the display link at notification 4 and 8. In the future, we should switch to per-monitor (or per-window) vsync rather than global vsync, and clean this whole situation up a little. Differential Revision: https://phabricator.services.mozilla.com/D105868
aa0d1698aff83e2b433ea19f72197770556927f8: Bug 1688096 - Part 2. Add/use flag to CompositorOptions to allow SW-WR on a per widget basis. r=mattwoodrow
Andrew Osmond <aosmond@mozilla.com> - Thu, 18 Feb 2021 15:37:47 +0000 - rev 635137
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1688096 - Part 2. Add/use flag to CompositorOptions to allow SW-WR on a per widget basis. r=mattwoodrow The pref gfx.webrender.software.unaccelerated-widget.allow may be used to allow software WebRender to be used with new windows/popups that have transparency on Windows. Otherwise they would fallback to basic layers. Similarly, the pref gfx.webrender.software.unaccelerated-widget.force may be used to force software WebRender for all windows that would fallback to basic layers. Differential Revision: https://phabricator.services.mozilla.com/D104855
3ad2f4d0c31731ea118a79c3f899d2715d455adc: Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Andrew Osmond <aosmond@mozilla.com> - Thu, 18 Feb 2021 15:37:46 +0000 - rev 635136
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D104854
6cdfa0af227854d740d976159fa841fd3c82bbef: Bug 1688096 - Part 2. Add/use flag to CompositorOptions to allow SW-WR on a per widget basis. r=mattwoodrow
Andrew Osmond <aosmond@mozilla.com> - Thu, 18 Feb 2021 11:50:06 +0000 - rev 635106
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1688096 - Part 2. Add/use flag to CompositorOptions to allow SW-WR on a per widget basis. r=mattwoodrow The pref gfx.webrender.software.unaccelerated-widget.allow may be used to allow software WebRender to be used with new windows/popups that have transparency on Windows. Otherwise they would fallback to basic layers. Similarly, the pref gfx.webrender.software.unaccelerated-widget.force may be used to force software WebRender for all windows that would fallback to basic layers. Differential Revision: https://phabricator.services.mozilla.com/D104855
6471b0910f45990e3b4da8f91051d730c31113c6: Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Andrew Osmond <aosmond@mozilla.com> - Thu, 18 Feb 2021 11:50:05 +0000 - rev 635105
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D104854
716373e67511bf39096191e9eb1b70c5f03306e4: Bug 1690491 - Add Texture2D allocation failure handling to RenderCompositorD3D11SWGL r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Thu, 18 Feb 2021 00:38:12 +0000 - rev 635066
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1690491 - Add Texture2D allocation failure handling to RenderCompositorD3D11SWGL r=mattwoodrow Texture2D allocation could fail by oom or device reset. Differential Revision: https://phabricator.services.mozilla.com/D105406
528cb2116f20fdce891e8e5a1d1e1b4abbbf4f68: Bug 1693241 - Add gfxCriticalNote to RenderTextureHostSWGL::LockSWGLCompositeSurface() r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Wed, 17 Feb 2021 10:42:51 +0000 - rev 634972
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1693241 - Add gfxCriticalNote to RenderTextureHostSWGL::LockSWGLCompositeSurface() r=mattwoodrow It helps to understand Bug 1693208. Differential Revision: https://phabricator.services.mozilla.com/D105418
11b157c81a3afc21dd2bc43d7ff55d4152f7da32: Bug 1693241 - Add gfxCriticalNote to RenderTextureHostSWGL::LockSWGLCompositeSurface() r=mattwoodrow
sotaro <sotaro.ikeda.g@gmail.com> - Wed, 17 Feb 2021 06:47:26 +0000 - rev 634955
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1693241 - Add gfxCriticalNote to RenderTextureHostSWGL::LockSWGLCompositeSurface() r=mattwoodrow It helps to understand Bug 1693208 . Differential Revision: https://phabricator.services.mozilla.com/D105418
eda04bfd3efedd5482b678dbe304787f3c6346e7: Bug 1691895 - Make RenderCompositorSWGL work on android r=geckoview-reviewers,mattwoodrow,agi
sotaro <sotaro.ikeda.g@gmail.com> - Tue, 16 Feb 2021 22:30:47 +0000 - rev 634915
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1691895 - Make RenderCompositorSWGL work on android r=geckoview-reviewers,mattwoodrow,agi Partial present is not supported yet with RenderCompositorSWGL on Android. Differential Revision: https://phabricator.services.mozilla.com/D104654
4657effbc3c4cd8a30c1ae2eb97fe0a03dfbf2a6: Bug 1690688 - enable video decoding in GPU process if the compositor supports D3D11. r=mattwoodrow
alwu <alwu@mozilla.com> - Thu, 11 Feb 2021 17:00:50 +0000 - rev 634171
Push 15122 by ffxbld-merge at Mon, 22 Feb 2021 12:02:19 +0000
Bug 1690688 - enable video decoding in GPU process if the compositor supports D3D11. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D104778