Commit Graph

503 Commits

Author SHA1 Message Date
Kartikaya Gupta
ac8311f921 Bug 1207270 - Update tests to ensure that TaskThrottlers are created as appropriate. r=botond 2015-09-25 13:54:11 -04:00
Kartikaya Gupta
d1570f16f0 Bug 1207270 - Ensure that the TaskThrottler objects are created on the main thread. r=botond 2015-09-25 13:54:11 -04:00
Bas Schouten
3571e10b8c Bug 1127270: Only acquire a hold on the compositor thread once the channel for a parent actor has been succesfully connected. r=nical 2015-09-11 15:24:46 +02:00
Jim Mathies
4e0cc05fb8 Bug 1137944 - Backout compositor bits (cset b4711fa5f734) which caused a telemetry metric regression. r=backout 2015-09-08 18:14:51 -05:00
Jim Mathies
94c43601f4 Bug 1201660 - When layer tree updates get dropped, hide plugins associated with the tree. Fixes a bug where we were hiding all plugins associated with the window. r=matt.woodrow 2015-09-04 16:18:55 -05:00
Jim Mathies
8778d1f197 Bug 1137944 - Fire before and after composite events. r=matt.woodrow 2015-09-03 09:55:23 -05:00
Jim Mathies
491fdb82c5 Bug 1137944 - Simplify the api associated with hiding e10s plugin widgets. r=roc 2015-09-03 10:01:33 -05:00
Ryan VanderMeulen
05581df48d Merge m-c to inbound. a=merge 2015-08-25 10:45:59 -04:00
Mason Chang
fd86cbdc47 Bug 1197898 - Delete vsync refresh driver preference. r=kats 2015-08-25 09:01:40 -04:00
Victor Porof
2a2e6d1b22 Bug 1050498 - Record compositing operations, r=jsantell,smaug,tromey 2015-08-25 08:51:58 +03:00
Mason Chang
7ff50ee4de Bug 1196308 - Delete Software Compositor Scheduler. r=sotaro 2015-08-20 17:57:42 -07:00
Jim Mathies
87f8827508 Bug 1163570 - Ignore pending plugin updates and hide plugin windows when a remote layer tree associated with a tab is no longer in use. r=roc 2015-08-19 08:47:57 -05:00
Kartikaya Gupta
f5ed3a019f Bug 1180295 - Implement seamless snapping to the stable state. r=rbarker 2015-08-18 14:27:20 -04:00
Matt Woodrow
930a06b719 Bug 1191040 - Ensure that we only compute the tile size once. r=BenWa 2015-08-07 15:37:56 -04:00
Ryan VanderMeulen
4896104f5c Backed out changeset 4e63305fe592 (bug 1191040) for Linux gtest crashes.
CLOSED TREE
2015-08-07 16:24:59 -04:00
Matt Woodrow
9ae78cf591 Bug 1191040 - Ensure that we only compute the tile size once. r=BenWa 2015-08-07 15:37:56 -04:00
CJ Ku
c1c30c1099 Bug 1061393 - Export display list info to layer scope viewer. r=kamidphish 2015-08-03 02:11:00 -04:00
Bobby Holley
0ad3ab2357 Bug 1167215 - Composite on every vsync until the scheduled one. r=roc 2015-08-02 17:36:42 -07:00
Sotaro Ikeda
e9cab90cd6 Bug 1186968 - Fix Compositor::SetScreenRotation() call r=nical 2015-07-24 07:13:59 -07:00
Kartikaya Gupta
3018bbd26b Bug 1145295 - Update assertion to allow for transaction id resets. r=mattwoodrow 2015-07-16 14:18:55 -04:00
Robert O'Callahan
1bebcba55f Bug 1143575. Route ImageCompositeNotifications to ImageContainers. r=nical
For frame statistics to work properly, we have to notify an ImageContainer
when it has been composited. This requires a few changes, which have
been lumped together in this patch:
-- Create PImageContainer and ImageContainerParent/ImageContainerChild.
-- Add mFrameID and mProducerID everywhere we're passing around images.
-- Route composition notifications from the compositor back to
ImageContainerChild.
2015-07-06 15:02:26 +12:00
Robert O'Callahan
2ee045f176 Bug 1143575. Ensure we schedule another composite if ImageHost has pending images. r=nical 2015-03-19 19:58:16 +13:00
Robert O'Callahan
9f4cb7cc5b Bug 1143575. Store composition time in Compositor. r=nical
We'll need this later so ImageHost can select the correct image to use.

Adding a TimeStamp parameter to BeginFrame is a bit annoying since BeginFrame
is overridden by every subclass. It's a bit more convenient to just call a
separate non-virtual method just before we call BeginFrame.
2015-07-07 15:38:38 +12:00
Robert O'Callahan
a33364b916 Bug 1143575. Android's screenshotting code should invalidate the LayerManagerComposite to ensure composition will actually happen. r=nical
There is some ambiguity about whether ScheduleComposite will necessarily
trigger a composite all the way to nsWindow::DrawWindowUnderlay. Android
robocop tests assume it will, because they rely on DrawWindowOverlay
being called so they can take a screenshot and make progress,
but this is a very fragile assumption. They also rely on the entire
window being painted, which is also a fragile assumption.

This patch improves the situation by explicitly invalidating the current
window area when Android Java code needs to trigger a composite. This avoids
regressions from future patches in this series which make composition bail
out when there is nothing invalid.

The resulting setup is still a bit fragile for my taste but I'm not sure
what the ideal solution would be.
2015-06-12 03:20:04 +12:00
Sotaro Ikeda
11d1d0d945 Bug 1112219 - Implement platform independent MediaResourceManager r=cpearce,bwu,nical 2015-07-05 11:56:04 -07:00
Kartikaya Gupta
1ab9bc18a2 Bug 1145295 - Add some debug logging to try and trace an intermittent assertion. r=nical 2015-03-31 08:50:14 -04:00
David Anderson
2511c6ca59 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
Markus Stange
3000f6c8eb Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
David Anderson
38a60e1411 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
Kartikaya Gupta
ece9249dab Bug 1163832 - Add an API to flush pending APZ repaint requests and dispatch a notification upon completion. r=botond 2015-06-19 08:25:41 -04:00
Jim Mathies
2f33700c28 Bug 1152326 - When processing plugin updates only update the visibility of the set of plugins associated with the same compositor. r=aklotz 2015-06-17 15:39:09 -05:00
Milan Sreckovic
32444a87ff Bug 1175521 - Posting to a dead loop. r=nical 2015-06-17 10:33:00 -04:00
Andrew Comminos
9a6903b66d Bug 1175530 - Log using gfxDebugOnce when enabling vsync compositor. r=mchang 2015-06-17 08:48:00 -04:00
Mason Chang
0f9745b97a Bug 1077651 Measure frame uniformity by synthesizing native events. r=kats,mrbkap 2015-06-08 09:53:41 -07:00
David Anderson
7fdcf3d5d4 Add an API for snapshotting widgets as they are presented by the operating system. (bug 1167477, r=mattwoodrow, dom r=khuey) 2015-06-04 14:19:06 -07:00
David Anderson
e4bdc9d5b3 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
Kartikaya Gupta
5d4dd39302 Back out 2 csets for bug 1163832 for emulator crashtest failures. r=me
CLOSED TREE
2015-05-22 07:51:55 -04:00
Kartikaya Gupta
70e917728e Bug 1163832 - Add an API to flush pending APZ repaint requests and dispatch a notification upon completion. r=botond 2015-05-22 06:42:08 -04:00
Kan-Ru Chen
75208b573a Bug 1154231 - Part 1. Use LRU to manage remote layers. r=mattwoodrow 2015-05-22 07:08:20 +08:00
Phil Ringnalda
44ade1b65b Backed out 2 changesets (bug 1154231) for M-oth crashes
CLOSED TREE

Backed out changeset 5e8145eff457 (bug 1154231)
Backed out changeset 951fb8ed6f25 (bug 1154231)
2015-05-15 20:29:15 -07:00
Kan-Ru Chen
448a2b26f1 Bug 1154231 - Part 2. Use LRU to manage remote layers. r=mattwoodrow 2015-05-16 08:43:39 +08:00
David Anderson
939778f3ee Enable APZ for all Desktop windows if E10s is enabled. (bug 1163115, r=kats) 2015-05-12 01:26:01 -04:00
Paul Rouget
4c2b68c0ea Bug 1161407 - Only check for IsMultiProcessWindow on non-B2G & non-Android platforms. r=kats 2015-05-11 14:59:07 -04:00
Thibaud Backenstrass
93145c402c Bug 1158122 - Remove the remaining occurences of nsIntRect in gfx/layers. r=nical 2015-05-07 11:07:53 +02:00
Kartikaya Gupta
b08c392edf Bug 1162179 - Don't create APZCTreeManagers for windows which aren't multiprocess. r=dvander 2015-05-06 19:15:10 -04:00
Daniel Holbert
f4a29bbf62 Bug 1161731: Remove newline characters from the ends of NS_WARNING messages in /gfx and /layout. r=mstange 2015-05-05 13:57:47 -07:00
Sotaro Ikeda
ff6e962fc7 Bug 1156981 - Split CompositorParent's scheduling of composition to CompositorScheduler r=mchang 2015-04-30 11:35:13 -07:00
Timothy Nikkel
3a8b15b000 Bug 1157066. When reading back the OMTA transfrom of a layer don't include transforms from async panning or zooming. r=kats,birtles
Containerless scrolling means that the pan zoom controller applies it's transforms (to compensate for differences between the state of layout the last time we painted and the current state as composited to the screen) to the layers that are scrolled instead of the container layer that contains the layers that scroll.

When running test_animations_omta.html there is a zoom of 1.306122 applied, and the page is scrolled down to 67 screen pixels (before the test starts, not sure why exactly). Gecko scrolls as close to 67 screen pixels as it can: 67/1.306122 = 51.29689 css pixels, which is 3077.813 appunits. Gecko scrolls to 3078 app units. When AsyncCompositionManager::TransformScrollableLayer runs we calculate the scroll position of gecko and the current scroll position that the pan zoom controller is using. Since there are no async pan or zoom operations taking place these should match. However when the gecko scroll position is calculated we get 3078/60*1.306122 = 67.0040586. So it applies a transform of 0.0040586 to the container layer for the transform that test_animations_omta.html is animating off main thread. When test_animations_omta.html reads the transform of this layer it fails because it's expecting 0 and 0.0040586 is outside of it's epsilon for considering it to be close enough.
2015-04-24 19:05:52 -05:00
Wes Kocher
d068b7e113 Backed out changeset 517b9b831685 (bug 1157066) for build bustage 2015-04-24 14:56:55 -07:00
Timothy Nikkel
29c16525f7 Bug 1157066. When reading back the OMTA transfrom of a layer don't include transforms from async panning or zooming. r=kats,birtles
Containerless scrolling means that the pan zoom controller applies it's transforms (to compensate for differences between the state of layout the last time we painted and the current state as composited to the screen) to the layers that are scrolled instead of the container layer that contains the layers that scroll.

When running test_animations_omta.html there is a zoom of 1.306122 applied, and the page is scrolled down to 67 screen pixels (before the test starts, not sure why exactly). Gecko scrolls as close to 67 screen pixels as it can: 67/1.306122 = 51.29689 css pixels, which is 3077.813 appunits. Gecko scrolls to 3078 app units. When AsyncCompositionManager::TransformScrollableLayer runs we calculate the scroll position of gecko and the current scroll position that the pan zoom controller is using. Since there are no async pan or zoom operations taking place these should match. However when the gecko scroll position is calculated we get 3078/60*1.306122 = 67.0040586. So it applies a transform of 0.0040586 to the container layer for the transform that test_animations_omta.html is animating off main thread. When test_animations_omta.html reads the transform of this layer it fails because it's expecting 0 and 0.0040586 is outside of it's epsilon for considering it to be close enough.
2015-04-24 16:41:56 -05:00