6c92d9a126da34bdc1327d0bbe9edb17b7a1ba0b: try_task_config for https://phabricator.services.mozilla.com/D80273 draft
libmozevent <release-mgmt-analysis@mozilla.com> - Tue, 23 Jun 2020 23:39:59 +0000 - rev 2999963
Push 558590 by reviewbot at Tue, 23 Jun 2020 23:40:15 +0000
try_task_config for https://phabricator.services.mozilla.com/D80273 Differential Diff: PHID-DIFF-wjtjra4r4niezhxdgpcq
6d92405d048a1520fcad18a260b0b1b4ef1337ea: Bug 1646835 - move SWGL context creation into specific SWGL RenderCompositors. r?jrmuizel draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:39:55 +0000 - rev 2999962
Push 558590 by reviewbot at Tue, 23 Jun 2020 23:40:15 +0000
Bug 1646835 - move SWGL context creation into specific SWGL RenderCompositors. r?jrmuizel Summary: Currently RendererOGL has mixed-in details of SWGL context creation which becomes messy and slightly unanticipated based on the nomenclature and structure of RendererOGL. Based on other work in bug 1646835, it becomes more natural to move this context creation into the specific SWGL RenderCompositors so that RendererOGL can be agnostic to any SWGL details. Differential Revision: https://phabricator.services.mozilla.com/D80273 Depends on D80270 Test Plan: Reviewers: jrmuizel Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-wjtjra4r4niezhxdgpcq
2d64d61aa4d46d5e99ffea07c6a4963ccd02b723: Bug 1646835 - refactor RenderCompositorOGL into RenderCompositorNative. r?mstange draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:39:52 +0000 - rev 2999961
Push 558590 by reviewbot at Tue, 23 Jun 2020 23:40:15 +0000
Bug 1646835 - refactor RenderCompositorOGL into RenderCompositorNative. r?mstange Summary: RenderCompositorOGL currently has many responsibilities including supporting OpenGL compositor for Linux, whole-window compositing for Mac NativeLayerCA, and per-cache-tile compositing for Mac NativeLayerCA. With the addition of support for SWGL, this becomes even further complicated. It becomes advantageous to separate out RenderCompositorOGL specifically as only the basic OpenGL compositing case, as that naturally yields a simple and isolated RenderCompositor. What is left over becomes RenderCompositorNative, a basis for implementing NativeLayer-based RenderCompositors. To cleanly isolate state and details of when HW compositing or SW compositing is being used, these are further split off into RCNativeOGL and RCNativeSWGL versions that deal with specific isolated details of OpenGL and SWGL respectively. RCNativeOGL deals with just setting up OpenGL FBOs for NativeLayers. RCNativeSWGL's new task is just to deal mapping NativeLayers and providing SWGL FBOs for them without involving OpenGL. Differential Revision: https://phabricator.services.mozilla.com/D80270 Depends on D80269 Test Plan: Reviewers: mstange Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-tx6ulmxbj5afhsucaav6
8b3263b050d7953bba2c581778d4135c405a82d3: Bug 1646835 - add MapTile/UnmapTile hooks to the WR compositor. r?mstange,gw draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:39:48 +0000 - rev 2999960
Push 558590 by reviewbot at Tue, 23 Jun 2020 23:40:15 +0000
Bug 1646835 - add MapTile/UnmapTile hooks to the WR compositor. r?mstange,gw Summary: RenderCompositors for SWGL that wish to provide accelerated compositing need to subvert the existing Bind/Unbind hooks in the WR compositor. These compositors need to keep track of their HW tiles without actually binding an OpenGL FBO for WR to render picture cache tiles. SWGL needs to intervene and get a backing buffer for tile from the RenderCompositor so that it can create a SWGL FBO for WR to render the picture cache tile to. To that end, this adds MapTile/UnmapTile as a replacement for Bind/Unbind for those scenarios. This is done in a way that it affects only the WrCompositor of webrender_bindings without actually altering WR's Compositor interface. This is beneficial because WR does not have to understand the details of SWGL integration and also so as not to complicate other users of WR such as Servo who are not currently utilizing SWGL at all. RenderCompositorOGL is initially modified to use these hooks in this patch. It later became more convenient to restructure that in a follow-up patch. Differential Revision: https://phabricator.services.mozilla.com/D80269 Test Plan: Reviewers: mstange, gw Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-hsxc6o5kmmmamde7bfcj
d3c5ebf69f56e8faf6a528901d273cc12fbda318: Bug 1646835 - implement basic SWGL compositor. r?jrmuizel draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:39:45 +0000 - rev 2999959
Push 558590 by reviewbot at Tue, 23 Jun 2020 23:40:15 +0000
Bug 1646835 - implement basic SWGL compositor. r?jrmuizel Summary: This is a first implementation of a software-only SWGL RenderCompositor that relies on the existing widget hooks for Basic compositing. It attempts to lock the widget and get a DT whose underlying data it can supply directly to SWGL to composite to. Critically, it does not rely on OpenGL or any other form of HW accel to function. The interface between the RenderCompositor and SWGL will be further refined in follow-up patches. Differential Revision: https://phabricator.services.mozilla.com/D80268 Depends on D80267 Test Plan: Reviewers: jrmuizel Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-jq2ikgwpolprjs4jzygd
d5bb09a1b1ec57642452b30012e75db3838b208f: Bug 1646835 - allow specifying backing data and stride for SWGL default framebuffer. r?jimb draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:39:41 +0000 - rev 2999958
Push 558590 by reviewbot at Tue, 23 Jun 2020 23:40:15 +0000
Bug 1646835 - allow specifying backing data and stride for SWGL default framebuffer. r?jimb Summary: For performance reasons in SWGL software compositors. to avoid unnecessary full-screen copies of the framembuffer, we need to allow those compositors to map their underlying widget surfaces and pass that buffer to SWGL so that they can be directly rendered to. That also requires supporting custom strides, as we can't always enforce the particular layout of the buffers handed off to us. To that end, InitDefaultFramebuffer is generalized to take such information and then many places where we rely on a specific hard-coded SWGL-calculated stride have been altered to deal with a caller-supplied stride. Differential Revision: https://phabricator.services.mozilla.com/D80267 Test Plan: Reviewers: jimb Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-lpuuvlesv5ekxvsspzw3
725326fb9858bb00371d227652e76b00e37b7a5b: try_task_config for https://phabricator.services.mozilla.com/D80270 draft
libmozevent <release-mgmt-analysis@mozilla.com> - Tue, 23 Jun 2020 23:38:43 +0000 - rev 2999957
Push 558589 by reviewbot at Tue, 23 Jun 2020 23:39:01 +0000
try_task_config for https://phabricator.services.mozilla.com/D80270 Differential Diff: PHID-DIFF-tx6ulmxbj5afhsucaav6
bc4283aa975e042d5eef9158d6bcaf5482a74b35: Bug 1646835 - refactor RenderCompositorOGL into RenderCompositorNative. r?mstange draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:38:39 +0000 - rev 2999956
Push 558589 by reviewbot at Tue, 23 Jun 2020 23:39:01 +0000
Bug 1646835 - refactor RenderCompositorOGL into RenderCompositorNative. r?mstange Summary: RenderCompositorOGL currently has many responsibilities including supporting OpenGL compositor for Linux, whole-window compositing for Mac NativeLayerCA, and per-cache-tile compositing for Mac NativeLayerCA. With the addition of support for SWGL, this becomes even further complicated. It becomes advantageous to separate out RenderCompositorOGL specifically as only the basic OpenGL compositing case, as that naturally yields a simple and isolated RenderCompositor. What is left over becomes RenderCompositorNative, a basis for implementing NativeLayer-based RenderCompositors. To cleanly isolate state and details of when HW compositing or SW compositing is being used, these are further split off into RCNativeOGL and RCNativeSWGL versions that deal with specific isolated details of OpenGL and SWGL respectively. RCNativeOGL deals with just setting up OpenGL FBOs for NativeLayers. RCNativeSWGL's new task is just to deal mapping NativeLayers and providing SWGL FBOs for them without involving OpenGL. Differential Revision: https://phabricator.services.mozilla.com/D80270 Depends on D80269 Test Plan: Reviewers: mstange Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-tx6ulmxbj5afhsucaav6
6bb30a09b0cacb5b4972e2c3c80e847ee691be88: Bug 1646835 - add MapTile/UnmapTile hooks to the WR compositor. r?mstange,gw draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:38:35 +0000 - rev 2999955
Push 558589 by reviewbot at Tue, 23 Jun 2020 23:39:01 +0000
Bug 1646835 - add MapTile/UnmapTile hooks to the WR compositor. r?mstange,gw Summary: RenderCompositors for SWGL that wish to provide accelerated compositing need to subvert the existing Bind/Unbind hooks in the WR compositor. These compositors need to keep track of their HW tiles without actually binding an OpenGL FBO for WR to render picture cache tiles. SWGL needs to intervene and get a backing buffer for tile from the RenderCompositor so that it can create a SWGL FBO for WR to render the picture cache tile to. To that end, this adds MapTile/UnmapTile as a replacement for Bind/Unbind for those scenarios. This is done in a way that it affects only the WrCompositor of webrender_bindings without actually altering WR's Compositor interface. This is beneficial because WR does not have to understand the details of SWGL integration and also so as not to complicate other users of WR such as Servo who are not currently utilizing SWGL at all. RenderCompositorOGL is initially modified to use these hooks in this patch. It later became more convenient to restructure that in a follow-up patch. Differential Revision: https://phabricator.services.mozilla.com/D80269 Test Plan: Reviewers: mstange, gw Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-hsxc6o5kmmmamde7bfcj
76d569db7f3407620eff3854a12747074402d090: Bug 1646835 - implement basic SWGL compositor. r?jrmuizel draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:38:32 +0000 - rev 2999954
Push 558589 by reviewbot at Tue, 23 Jun 2020 23:39:01 +0000
Bug 1646835 - implement basic SWGL compositor. r?jrmuizel Summary: This is a first implementation of a software-only SWGL RenderCompositor that relies on the existing widget hooks for Basic compositing. It attempts to lock the widget and get a DT whose underlying data it can supply directly to SWGL to composite to. Critically, it does not rely on OpenGL or any other form of HW accel to function. The interface between the RenderCompositor and SWGL will be further refined in follow-up patches. Differential Revision: https://phabricator.services.mozilla.com/D80268 Depends on D80267 Test Plan: Reviewers: jrmuizel Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-jq2ikgwpolprjs4jzygd
41579184dcbfbc1324bfd311a0d2b997b284cb6a: Bug 1646835 - allow specifying backing data and stride for SWGL default framebuffer. r?jimb draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:38:28 +0000 - rev 2999953
Push 558589 by reviewbot at Tue, 23 Jun 2020 23:39:01 +0000
Bug 1646835 - allow specifying backing data and stride for SWGL default framebuffer. r?jimb Summary: For performance reasons in SWGL software compositors. to avoid unnecessary full-screen copies of the framembuffer, we need to allow those compositors to map their underlying widget surfaces and pass that buffer to SWGL so that they can be directly rendered to. That also requires supporting custom strides, as we can't always enforce the particular layout of the buffers handed off to us. To that end, InitDefaultFramebuffer is generalized to take such information and then many places where we rely on a specific hard-coded SWGL-calculated stride have been altered to deal with a caller-supplied stride. Differential Revision: https://phabricator.services.mozilla.com/D80267 Test Plan: Reviewers: jimb Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-lpuuvlesv5ekxvsspzw3
8660d62b35e3d6c260dadf27a01e56714b528278: try_task_config for https://phabricator.services.mozilla.com/D80269 draft
libmozevent <release-mgmt-analysis@mozilla.com> - Tue, 23 Jun 2020 23:38:32 +0000 - rev 2999952
Push 558588 by reviewbot at Tue, 23 Jun 2020 23:38:48 +0000
try_task_config for https://phabricator.services.mozilla.com/D80269 Differential Diff: PHID-DIFF-hsxc6o5kmmmamde7bfcj
5e25bfad2e495f0c7da18ed3ca68f60630c0133d: Bug 1646835 - add MapTile/UnmapTile hooks to the WR compositor. r?mstange,gw draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:38:28 +0000 - rev 2999951
Push 558588 by reviewbot at Tue, 23 Jun 2020 23:38:48 +0000
Bug 1646835 - add MapTile/UnmapTile hooks to the WR compositor. r?mstange,gw Summary: RenderCompositors for SWGL that wish to provide accelerated compositing need to subvert the existing Bind/Unbind hooks in the WR compositor. These compositors need to keep track of their HW tiles without actually binding an OpenGL FBO for WR to render picture cache tiles. SWGL needs to intervene and get a backing buffer for tile from the RenderCompositor so that it can create a SWGL FBO for WR to render the picture cache tile to. To that end, this adds MapTile/UnmapTile as a replacement for Bind/Unbind for those scenarios. This is done in a way that it affects only the WrCompositor of webrender_bindings without actually altering WR's Compositor interface. This is beneficial because WR does not have to understand the details of SWGL integration and also so as not to complicate other users of WR such as Servo who are not currently utilizing SWGL at all. RenderCompositorOGL is initially modified to use these hooks in this patch. It later became more convenient to restructure that in a follow-up patch. Differential Revision: https://phabricator.services.mozilla.com/D80269 Test Plan: Reviewers: mstange, gw Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-hsxc6o5kmmmamde7bfcj
1d553e7c4a1b03e189b69b2e093dbc38b30d5ac9: Bug 1646835 - implement basic SWGL compositor. r?jrmuizel draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:38:25 +0000 - rev 2999950
Push 558588 by reviewbot at Tue, 23 Jun 2020 23:38:48 +0000
Bug 1646835 - implement basic SWGL compositor. r?jrmuizel Summary: This is a first implementation of a software-only SWGL RenderCompositor that relies on the existing widget hooks for Basic compositing. It attempts to lock the widget and get a DT whose underlying data it can supply directly to SWGL to composite to. Critically, it does not rely on OpenGL or any other form of HW accel to function. The interface between the RenderCompositor and SWGL will be further refined in follow-up patches. Differential Revision: https://phabricator.services.mozilla.com/D80268 Depends on D80267 Test Plan: Reviewers: jrmuizel Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-jq2ikgwpolprjs4jzygd
3723a7a671312664a629694617a406fbd4ba66f4: Bug 1646835 - allow specifying backing data and stride for SWGL default framebuffer. r?jimb draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:38:21 +0000 - rev 2999949
Push 558588 by reviewbot at Tue, 23 Jun 2020 23:38:48 +0000
Bug 1646835 - allow specifying backing data and stride for SWGL default framebuffer. r?jimb Summary: For performance reasons in SWGL software compositors. to avoid unnecessary full-screen copies of the framembuffer, we need to allow those compositors to map their underlying widget surfaces and pass that buffer to SWGL so that they can be directly rendered to. That also requires supporting custom strides, as we can't always enforce the particular layout of the buffers handed off to us. To that end, InitDefaultFramebuffer is generalized to take such information and then many places where we rely on a specific hard-coded SWGL-calculated stride have been altered to deal with a caller-supplied stride. Differential Revision: https://phabricator.services.mozilla.com/D80267 Test Plan: Reviewers: jimb Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-lpuuvlesv5ekxvsspzw3
dcbad051581a79971415d22d0419ec7046610552: Tasks automatically selected. draft
Nick Alexander <nalexander@mozilla.com> - Tue, 23 Jun 2020 16:29:46 -0700 - rev 2999948
Push 558587 by nalexander@mozilla.com at Tue, 23 Jun 2020 23:30:09 +0000
Tasks automatically selected. Pushed via `mach try auto`
6a84a323332b1588c49e8293406b36335a3d0028: Bug 1636539 - Part 4: Use Rust remote settings client to fetch remote kill switch. r?agashlin,bytesized draft
Nick Alexander <nalexander@mozilla.com> - Tue, 23 Jun 2020 13:20:33 -0700 - rev 2999947
Push 558587 by nalexander@mozilla.com at Tue, 23 Jun 2020 23:30:09 +0000
Bug 1636539 - Part 4: Use Rust remote settings client to fetch remote kill switch. r?agashlin,bytesized
6306f8b70aab00ccafc5bc7f5097c461e33ba289: Bug 1636539 - Part 3: Add defaultagent-static Rust crate fetching remote disabled flag. r?agashlin,bytesized draft
Nick Alexander <nalexander@mozilla.com> - Wed, 27 May 2020 20:38:20 -0700 - rev 2999946
Push 558587 by nalexander@mozilla.com at Tue, 23 Jun 2020 23:30:09 +0000
Bug 1636539 - Part 3: Add defaultagent-static Rust crate fetching remote disabled flag. r?agashlin,bytesized This lays out a Rust crate and statically links it into `windows-default-agent.exe`. It declares a single-method API (which will be invoked in the next commit). Strings cross the C/C++ <-> Rust FFI boundary as null-terminated UTF-8. (This will matter more if and when we use ETag and If-None-Match to get 304 results.) Errors are reported as Windows error codes or as the special codes above 32000 that we use to encode certain classes of failure. The bulk of the work is in implementing a [Viaduct](https://github.com/mozilla/application-services/tree/master/components/viaduct) backend built on top of `wininet.dll`. The motivation is that if and when this Remote Settings Rust client grows features (say, Content-Signature: verification), then by using Viaduct there is a smooth path to consume the client inside Firefox itself, because Viaduct already has a backend on top of Necko. That makes this abstraction relatively low friction: it exists, is in-tree already, and has a path to use in Gecko proper. It is expected that the layer above this will handle "gracefully failing", either open or closed; and will mirror Remote Settings configuration to the registry so that testers can use prod/stage/dev easily. TODO: - Configure logging so that more than `error!` appears. Consider disabling `env_logger` in non-debug configurations. - Determine how much error propagation we care to do. Are we going to report errors to Telemetry? Differential Revision: https://phabricator.services.mozilla.com/D78579
f7e4bf2f6ab8b39cdc344856ba320252fa307f3c: Bug 1636539 - Part 2: Mirror preferences for remote settings to Windows Default Browser Agent. r?agashlin,bytesized draft
Nick Alexander <nalexander@mozilla.com> - Tue, 23 Jun 2020 11:58:53 -0700 - rev 2999945
Push 558587 by nalexander@mozilla.com at Tue, 23 Jun 2020 23:30:09 +0000
Bug 1636539 - Part 2: Mirror preferences for remote settings to Windows Default Browser Agent. r?agashlin,bytesized This isn't quite ready and tested yet, but I might as well throw it out for initial comments. This originally mirrored the `services.settings.server` pref. For WDBA, however, we only care about one record; and it's quite handy to be able to name that specific record (say, to one that disables things!). So eventually I'll make this mirror some new pref with just that URL. However, there's really no reason to do this in native code; it could just as easily be JavaScript that runs a little after startup. That would make it lighter to modify. But this location is next to the same pattern for the launcher process. Trade offs, trade offs. Do we have opinions about the form of the pref, and about where this mirroring logic lives?
cad2666268049084d53788a0d8b30edc589daf86: Bug 1636539 - Part 1: Extract registry helper functions. r?agashlin,bytesized draft
Nick Alexander <nalexander@mozilla.com> - Tue, 23 Jun 2020 13:09:47 -0700 - rev 2999944
Push 558587 by nalexander@mozilla.com at Tue, 23 Jun 2020 23:30:09 +0000
Bug 1636539 - Part 1: Extract registry helper functions. r?agashlin,bytesized The pattern with `/mfbt/Poison.cpp` and `IMPL_MFBT` is well-established in the tree.
(0) -1000000 -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 +1000000 tip