98603fceb73aba3f9f542a8d75b29e7d81b2b1b1: try_task_config for https://phabricator.services.mozilla.com/D80274 draft
libmozevent <release-mgmt-analysis@mozilla.com> - Tue, 23 Jun 2020 23:40:15 +0000 - rev 2999970
Push 558591 by reviewbot at Tue, 23 Jun 2020 23:40:35 +0000
try_task_config for https://phabricator.services.mozilla.com/D80274 Differential Diff: PHID-DIFF-7pizgfyvxyvfdrjt45mj
f410594c1501c893de7e873f668cb0f0f95a34d8: Bug 1646835 - reuse depth buffers when rendering SWGL picture cache tiles. r?mstange draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:40:11 +0000 - rev 2999969
Push 558591 by reviewbot at Tue, 23 Jun 2020 23:40:35 +0000
Bug 1646835 - reuse depth buffers when rendering SWGL picture cache tiles. r?mstange Summary: Bug 1592038 implemented a means for reducing memory usage resulting from needlessly duplicated allocation of depth buffers when rendering WR picture cache tiles via the NativeLayer interface. This aims to keep a similarly level of memory savings even when using NativeLayer + SWGL. SWGL allows, as an extension beyond OpenGL, specifying an allocation size separate from the incidental size of a texture, which can be used to render to a smaller valid rect of a texture without continually reallocating it every time the size of the valid rect changes within the actual tile size. This functionality is used to keep around only a single depth texture for the SWGL compositor that is resized to accommodate the maximum requested tile size, so that any surface or tile can use it as desired. Differential Revision: https://phabricator.services.mozilla.com/D80274 Depends on D80273 Test Plan: Reviewers: mstange Subscribers: Bug #: 1646835 Differential Diff: PHID-DIFF-7pizgfyvxyvfdrjt45mj
7e6a3c18311edc936967e894e2008c17f2945f70: Bug 1646835 - move SWGL context creation into specific SWGL RenderCompositors. r?jrmuizel draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:40:08 +0000 - rev 2999968
Push 558591 by reviewbot at Tue, 23 Jun 2020 23:40:35 +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
d28f2b3b73e013eb6e4e559e78a7949d4f4edd69: Bug 1646835 - refactor RenderCompositorOGL into RenderCompositorNative. r?mstange draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:40:03 +0000 - rev 2999967
Push 558591 by reviewbot at Tue, 23 Jun 2020 23:40:35 +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
bf8a373d098ac50a2f90f1f0f4571696d4bbd2dc: Bug 1646835 - add MapTile/UnmapTile hooks to the WR compositor. r?mstange,gw draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:40:00 +0000 - rev 2999966
Push 558591 by reviewbot at Tue, 23 Jun 2020 23:40:35 +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
ddda93e7a01b106b40e9a7a06ca9d4ae40af0bdb: Bug 1646835 - implement basic SWGL compositor. r?jrmuizel draft
Lee Salzman <lsalzman@mozilla.com> - Tue, 23 Jun 2020 23:39:56 +0000 - rev 2999965
Push 558591 by reviewbot at Tue, 23 Jun 2020 23:40:35 +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
b084cc87f277fe3b21629213363fa03ecf72d03c: 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:52 +0000 - rev 2999964
Push 558591 by reviewbot at Tue, 23 Jun 2020 23:40:35 +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
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
(0) -1000000 -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 +1000000 tip