fbbdcb838c634605dcf728a4eee07928ef78478d: Bug 1379920 - Introduce mLastCanvasDatas. r=kats draft
Morris Tseng <mtseng@mozilla.com> - Tue, 11 Jul 2017 17:02:17 +0800 - rev 612088
Push 69379 by bmo:mtseng@mozilla.com at Thu, 20 Jul 2017 09:19:49 +0000
Bug 1379920 - Introduce mLastCanvasDatas. r=kats mLastCanvasDatas store used WebRenderCanvasData in last full transaction. So that in next empty transaction, we can update canvas content through mLastCanvasDatas. MozReview-Commit-ID: 2H2m8R7Kzwf
0fd99692c8b454df0898620318bb889410f67872: Bug 1379920 - Introduce WebRenderCanvasData. r=kats draft
Morris Tseng <mtseng@mozilla.com> - Tue, 11 Jul 2017 17:01:16 +0800 - rev 612087
Push 69379 by bmo:mtseng@mozilla.com at Thu, 20 Jul 2017 09:19:49 +0000
Bug 1379920 - Introduce WebRenderCanvasData. r=kats MozReview-Commit-ID: 4aBfWib1bQq
ac2020aa6f595f38965dc25a13e0a9e99b677d58: Bug 1379920 - Introduce CanvasRenderer and its derived classes. r=nical,jrmuizel draft
Morris Tseng <mtseng@mozilla.com> - Tue, 18 Jul 2017 16:55:47 +0800 - rev 612086
Push 69379 by bmo:mtseng@mozilla.com at Thu, 20 Jul 2017 09:19:49 +0000
Bug 1379920 - Introduce CanvasRenderer and its derived classes. r=nical,jrmuizel This patch move common canvas interfaces out of layer. So I create a base class CanvasRenderer which move interfaces from CanvasLayer. CopyableCanvasRenderer from CopyableCanvasLayer, ClientCanvasRenderer from ClientCanvasLayer and WebRenderCanvasRenderer from WebRenderCanvasLayer. And finally, WebRenderCanvasRendererSync for the non layers free mode and WebRenderCanvasRendererAsync for the layers free mode. Summary all changes in this patch. * Move class CanvasLayer::Data to CanvasRenderer.h and rename it to CanvasInitializeData. Because this class not only use by layer but also * Move BasicCanvasLayer::UpdateSurface to CopyableCanvasRenderer::ReadbackSurface. * CanvasClient::Update now accepts ShareableCanvasRenderer as parameter. not CanvasLayer. use by layers-free mode. Move it out of layer's class makes more sense. * Add InitializeCanvasRenderer in the canvas related classes to initialize CanvasRenderer without involved layer. * All canvas layer has function "CreateCanvasRendererInternal" that initialize corresponding CanvasRenderer. * Description of all CanvasRenderer classes: ** CanvasRenderer: Based classes. ** CopyableCanvasRenderer: Can readback canvas content to a SourceSurface. Use by BasicCanvasLayer. ** ShareableCanvasRenderer: Provide IPC capabilities that allow sending canvas content over IPC. This is pure virtual class because the IPC handling is different in different LayerManager. ** ClientCanvasRenderer: Implement IPC handling for ClientLayerManager. Use by ClientCanvasLayer. ** WebRenderCanvasRenderer: Implement IPC handling for WebRenderLayerManager. ** WebRenderCanvasRendererSync: Use by WebRenderCanvasLayer. ** WebRenderCanvasRendererAsync: Use by layers-free mode in WebRender. class diagram shows below: +--------------+ |CanvasRenderer| +-------+------+ ^ | +----------------------+ |CopyableCanvasRenderer| +----------------------+ ^ | +-----------+-----------+ |ShareableCanvasRenderer| +-----+-----------------+ ^ ^ +-------------+ +-------+ | | +--------------------+ +---------+-------------+ |ClientCanvasRenderer| |WebRenderCanvasRenderer| +--------------------+ +--------+--+-----------+ ^ ^ +-----------------------+ +----+ | | +-------------+-------------+ +-------------+--------------+ |WebRenderCanvasRendererSync| |WebRenderCanvasRendererAsync| +---------------------------+ +----------------------------+ MozReview-Commit-ID: 5hqQ19W169r
ab9ea9c68c7684ca5e508519c38f1a65c6708122: Bug 1379920 - Rename Copy/ShareableCanvasLayer to Copy/ShareableCanvasRenderer. r=nical,jrmuizel draft
Morris Tseng <mtseng@mozilla.com> - Thu, 20 Jul 2017 12:04:48 +0800 - rev 612085
Push 69379 by bmo:mtseng@mozilla.com at Thu, 20 Jul 2017 09:19:49 +0000
Bug 1379920 - Rename Copy/ShareableCanvasLayer to Copy/ShareableCanvasRenderer. r=nical,jrmuizel MozReview-Commit-ID: 9PItJtYtpCY
cdbb8acfc4b7ad2d6ffac1dac7dc339fbce821ab: Bug 1379920 - Add aAsync param to AddPipelineIdForAsyncCompositable and rename it to AddPipelineIdForCompositable. r=sotaro draft
Morris Tseng <mtseng@mozilla.com> - Tue, 11 Jul 2017 17:03:30 +0800 - rev 612084
Push 69379 by bmo:mtseng@mozilla.com at Thu, 20 Jul 2017 09:19:49 +0000
Bug 1379920 - Add aAsync param to AddPipelineIdForAsyncCompositable and rename it to AddPipelineIdForCompositable. r=sotaro When empty transaction in layers free mode, we don't rebuild whole display list. But the canvas content will be updated and send the content to parent by CanvasClient. We need some mechanism just like async video which can update the content without rebuild the dl. But CanvasClient doesn't use ImageBridge at all. So I slightly modify AddPipelineIdForAsyncCompositable to let it support the Compostiable either store in ImageBridge or WebRenderBridgeParent. MozReview-Commit-ID: 3mKv13Pgc2k
8bf97e88c71257e645b09f4adfd19c31e0aad011: Bug 1379920 - Fix unified build error. r=nical draft
Morris Tseng <mtseng@mozilla.com> - Tue, 18 Jul 2017 16:51:53 +0800 - rev 612083
Push 69379 by bmo:mtseng@mozilla.com at Thu, 20 Jul 2017 09:19:49 +0000
Bug 1379920 - Fix unified build error. r=nical MozReview-Commit-ID: Dx50fOh737p
c087b288ac7c30c94548bca737a9d58eba76a6bc: Bug 1381720 - Reset symbol visibility when including content_decryption_module.h. r?glandium draft
Chris Pearce <cpearce@mozilla.com> - Wed, 19 Jul 2017 10:37:14 +1200 - rev 612082
Push 69378 by bmo:cpearce@mozilla.com at Thu, 20 Jul 2017 09:19:29 +0000
Bug 1381720 - Reset symbol visibility when including content_decryption_module.h. r?glandium content_decryption_module.h is imported from the Chromium project, which does not set its symbol visibiity to hidden by default. But we do. So if we don't wrap content_decryption_module.h with defines that reset our default symbol visibility for the duration of the inlcude, we end up with build errors such as: In file included from /home/worker/workspace/build/src/dom/media/gmp/ChromiumCDMAdapter.cpp:7: /home/worker/workspace/build/src/obj-firefox/dist/include/content_decryption_module.h:921:7: error: visibility does not match previous declaration class CDM_CLASS_API Host_8 { ^ /home/worker/workspace/build/src/obj-firefox/dist/include/content_decryption_module.h:32:38: note: expanded from macro 'CDM_CLASS_API' #define CDM_CLASS_API __attribute__((visibility("default"))) ^ /home/worker/workspace/build/src/config/gcc_hidden.h:6:13: note: previous attribute is here #pragma GCC visibility push(hidden) ^ MozReview-Commit-ID: EynFPRSy0vB
468c9906834592ab526192f04120b2f3b26724aa: Bug 1382564 - Use the information from bug 1374940 with `mach artifact toolchain`. r?gps draft
Mike Hommey <mh+mozilla@glandium.org> - Wed, 21 Jun 2017 15:18:33 +0900 - rev 612081
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1382564 - Use the information from bug 1374940 with `mach artifact toolchain`. r?gps Bug 1374940 adds a MOZ_TOOLCHAINS environment variable with a list of path@task-id strings, where task-id is corresponding to the (possibly optimized) toolchain job, and path corresponding to the toolchain-artifact defined for that toolchain job. We want to use that to pull artifacts instead of tooltool packages.
04d29b347f762431a2aff6218e4bbbc1bdaf88d3: Bug 1374940 - Allow to define a list of toolchains to use for a given TC job. r?dustin draft
Mike Hommey <mh+mozilla@glandium.org> - Wed, 21 Jun 2017 15:38:21 +0900 - rev 612080
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1374940 - Allow to define a list of toolchains to use for a given TC job. r?dustin Such a definition automatically sets up the corresponding dependencies in the taskgraph, and adds the necessary artifact definitions for use in the corresponding jobs. The jobs end up with a MOZ_TOOLCHAINS environment variable with a list of path@task-id strings, where task-id is corresponding to the (possibly optimized) toolchain job, and path corresponding to the toolchain-artifact defined for that toolchain job.
02486b6dc4ac0748bc855574fd6f43764289acd1: Bug 1374940 - Add artifact paths to toolchain jobs definitions. r?dustin draft
Mike Hommey <mh+mozilla@glandium.org> - Wed, 21 Jun 2017 15:13:35 +0900 - rev 612079
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1374940 - Add artifact paths to toolchain jobs definitions. r?dustin The toolchain jobs produce artifacts that are going to be used by other jobs, but there is no reliable way for the decision task to know the name of those artifacts. So we make their definition required in the toolchain job definitions.
f9ee03cb2edc471c7f116e7d169a87c0284a6f73: Bug 1374940 - Allow transforms to access info about tasks from kind dependencies of the current kind. r?dustin draft
Mike Hommey <mh+mozilla@glandium.org> - Wed, 19 Jul 2017 07:25:26 +0900 - rev 612078
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1374940 - Allow transforms to access info about tasks from kind dependencies of the current kind. r?dustin
5763ca0d148aa5391f7680be8db3eaa7951c0eb3: Bug 1374940 - Cleanup how toolchain names are derived from task labels. r?dustin draft
Mike Hommey <mh+mozilla@glandium.org> - Wed, 19 Jul 2017 07:19:11 +0900 - rev 612077
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1374940 - Cleanup how toolchain names are derived from task labels. r?dustin We don't need to hardcode that they are prefixed with "toolchain-", when they, in fact, are prefixed with the name of the kind being handled. Also, we used to need to remove a /opt suffix, but bug 1345863 removed those suffixes, so we don't need to remove it anymore.
5f20427fd6194f02d02831e6009a5937f2df3355: Bug 1381772 - Add taskcluster jobs to build sccache for automation. r?ted draft
Mike Hommey <mh+mozilla@glandium.org> - Fri, 14 Jul 2017 11:07:40 +0900 - rev 612076
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1381772 - Add taskcluster jobs to build sccache for automation. r?ted The MinGit tooltool package used for Windows builds comes straight from https://github.com/git-for-windows/git/releases/ This builds the version currently used on automation.
0344df780fbc54fb031b71d442549026585c4b81: Bug 1381770 - Don't use the relengapi proxy for Linux toolchain jobs. r?mshal draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 18 Jul 2017 16:18:45 +0900 - rev 612075
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1381770 - Don't use the relengapi proxy for Linux toolchain jobs. r?mshal As the relengapi proxy doesn't appear to be very reliable, let's just use the public releng API, since we only need public artifacts anyways (no need for the relengapi token, which Linux TC workers don't have)
c8596bed04db77c064b794d2ec04c3297294e73a: Bug 1381770 - In tooltool-download.sh, automatically setup the relengapi authentication file. r?mshal draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 18 Jul 2017 16:13:26 +0900 - rev 612074
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1381770 - In tooltool-download.sh, automatically setup the relengapi authentication file. r?mshal
bdf42c60cc167cfdf3a095c772f62772b4e74f48: Bug 1381770 - In tooltool-download.sh, only use the relengapi proxy when it's configured. r?mshal draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 18 Jul 2017 16:12:58 +0900 - rev 612073
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1381770 - In tooltool-download.sh, only use the relengapi proxy when it's configured. r?mshal
02e9c2e7a086fb8bbb2b831fedb9b1b7d8755229: Bug 1381770 - Enable multiple download retries in tooltool-download.sh. r?mshal draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 18 Jul 2017 14:51:04 +0900 - rev 612072
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1381770 - Enable multiple download retries in tooltool-download.sh. r?mshal The scripts that use tooltool-download.sh don't run regularly, but when they do, they might hit some download problems (the relengapi proxy tends to be rather unreliable for some reason), and in that case, it would be better to retry a few times, like other job types, rather than fail directly.
e524532f7b40aaae34d820c04db48e3a702568e5: Bug 1381770 - Use $WORKSPACE instead of $HOME/workspace in tooltool-download.sh. r?mshal draft
Mike Hommey <mh+mozilla@glandium.org> - Tue, 18 Jul 2017 14:49:05 +0900 - rev 612071
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1381770 - Use $WORKSPACE instead of $HOME/workspace in tooltool-download.sh. r?mshal All the current users of tooltool-download.sh set $WORKSPACE. This will allow to reuse the script on different types of workers, that don't have $WORKSPACE set to $HOME/workspace, but still have the source in $WORKSPACE/build/src.
57f0e36a4acfc31257f68d35875013d95a091ac7: Bug 1382502 - Remove ${var}_IS_SET variables. r?ted draft
Mike Hommey <mh+mozilla@glandium.org> - Thu, 20 Jul 2017 14:22:11 +0900 - rev 612070
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1382502 - Remove ${var}_IS_SET variables. r?ted In bug 1181040, we added ${var}_IS_SET variables for mk_add_options-defined variables. In the two years since, that has never been used for anything else than MOZ_PGO_IS_SET, and the only use for that has now been removed, so remove those ${var}_IS_SET variables.
279a5507c2d1904c8106f374c0b4eddcd50a5bb5: Bug 1382502 - Enable sccache on PGO builds. r?ted draft
Mike Hommey <mh+mozilla@glandium.org> - Thu, 20 Jul 2017 11:31:14 +0900 - rev 612069
Push 69377 by bmo:mh+mozilla@glandium.org at Thu, 20 Jul 2017 09:02:28 +0000
Bug 1382502 - Enable sccache on PGO builds. r?ted Note this will only enable it on try, autoland and mozilla-inbound, which are the only branches where sccache are enabled at the moment. Enabling on more builds (or not) is the subject of bug 1373460. Also note that bug 1181040, that ensured PGO builds weren't using sccache mentions that back then, link times went up when using sccache (with -Z7) vs. without, but that was presumably with MSVC 2013. Try suggests link times are the same using sccache now (still using -Z7, pending bug 1318370).
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip