Commit Graph

152 Commits

Author SHA1 Message Date
Eric Rahm
67b91ff53a Bug 1162748 - Remove instances of #ifdef PR_LOGGING in graphics. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-08 14:37:01 -07:00
Timothy Nikkel
499081808b 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
936a2fdf3f Backed out changeset 517b9b831685 (bug 1157066) for build bustage 2015-04-24 14:56:55 -07:00
Timothy Nikkel
e488294393 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
L. David Baron
cc896f3f84 Bug 1156456 patch 3 - Send transform origin and perspective origin to layer in device pixels rather than CSS pixels. r=birtles 2015-04-22 19:37:04 -07:00
Ethan Lin
d9d154877e Bug 1146214 - Rename some functions after refactoring. r=nical 2015-04-10 02:21:00 +02:00
Ethan Lin
1142d9f968 Bug 1146214 - Remove the unused code after refactoring. r=nical 2015-04-10 02:20:00 +02:00
Ethan Lin
a837628695 Bug 1146214 - Implement fence delivery. Combine ipc messages and remove reply fence delivery message. r=nical 2015-04-10 02:19:00 +02:00
David Anderson
c99aec898f Fix APZ target confirmations arriving before dependent layer transactions. (bug 1154130, r=kats) 2015-04-14 12:24:32 -04:00
Ying-Ruei Liang (KK)
f17daf9c2a Bug 1143522 - Convert Layer::mClipRect to ParentLayerIntRect. r=botond
Change interface of getter/setter for mClipRect,
also necessary modification for codes that use these resources.

* * *
Bundle mUseClipRect and mClipRect as Maybe<ParentLayerIntRect> mClipRect

--HG--
extra : rebase_source : ca0c60404a28b7418df88104b863760033289910
2015-04-11 22:03:00 -04:00
David Anderson
e8a7d33638 Scrollbar thumbs can overlap scrollbar arrows during APZ scrolling. (bug 1152469, r=botond,mstange) 2015-04-12 23:03:02 -04:00
Bob Owen
283c8df550 Bug 1149971 Part 2: Cet rid of kCurrentProcessId as it makes lots of static initializers. r=dvander 2015-04-01 13:59:20 +01:00
Bob Owen
e4f543bb58 Bug 1119878 Part 2: Change IPC code to hold ProcessID instead of ProcessHandle. r=billm, r=dvander, r=aklotz, r=cpearce 2015-04-01 09:40:35 +01:00
Bill McCloskey
3f08e0f807 Bug 1121072 - Always notify when layers cleared (r=dvander) 2015-03-27 08:38:47 -07:00
Brian Birtles
90986d4597 Bug 1113425 part 2 - Apply async properties when querying the animated transform; r=mattwoodrow
In order to test off-main thread animations, we have a method that will return
the animated transform value set on a shadow layer. This method will return null
if the transform was not set by animation.

However, in some situations we temporarily clear the animation transform. For
example, when we synchronize a composite layer with its content layer, we reset
the animation transform. Then, on the next composite, we will recalculate the
animated value.

If we try to query the animated transform value in between resetting it and the
next composite we will get back null. To avoid a race condition, in
ShadowLayersUpdated after potentially clearing the animated transform, we
synchronously update the async properties on the layer transform in order
to reinstate the animated transform (so it is there when we go to query it).
However we *only* do this when the mIsTesting flag is set which is true
whenever we have the refresh driver under test control.  Furthermore, we only
do it when we already have a pending composite task to better match conditions
under regular operation.

In test_deferred_start.html, however, we specifically need to test without
putting the refresh driver under test control. As a result mIsTesting will be
false and we can encounter a race condition when querying the animated
transform.

To work around this, this patch makes us *also* update async properties
when fetching the animated transform value. The method for getting the
animated transform value is only used for testing so it should have no effect
on the regular compositing behavior.

It would seem that we could then remove the call from ShadowLayersUpdated but
doing this caused a small number of test cases to fail. In particular one test
for *opacity* in test_animations_omta.html was failing at the end of the
animation because we ended up with a stale opacity animation value on the
compositor which the synchronous update was previously removing. The test,
in this case, should be ignoring the value on the compositor but, unlike
transform, there is no flag for indicating whether or not the opacity on shadow
layers has been set by animations. As a result, this patch leaves the call that
triggers a synchronous update in test mode when updating shadow layers.
2015-03-17 18:38:12 +09:00
Sotaro Ikeda
3dd206c7b8 Bug 1139935 - Re-enable RemoveTextureFromCompositableTracker r=nical 2015-03-11 06:53:43 -07:00
Bill McCloskey
c10aee7d5e Bug 1129223 - Introduce new, more efficient mozLayerTreeReady event (r=BenWa) 2015-03-05 22:03:23 -08:00
Sotaro Ikeda
8bf7183124 Bug 1136352 - Fix RemoveTextureAsync handling r=nical 2015-03-02 13:38:45 -08:00
Kartikaya Gupta
328ee5bf63 Bug 1131840 - Propagate the EventRegionsOverride flag on RefLayers also. r=roc 2015-02-16 21:30:02 -05:00
Kartikaya Gupta
7fd26daa4a Bug 1131840 - Replace the shouldForceDispatchToContent flag with a bitset enum. r=roc,botond 2015-02-16 21:30:02 -05:00
Kartikaya Gupta
f5d90daf87 Bug 1125422 - Add a flag on ContainerLayer to indicate when the entire subtree of layers needs to be in the dispatch-to-content region. r=roc 2015-02-10 16:28:07 -05:00
Peter Chang
8c9ff9b5dc Bug 1129763 - Add pref for the threshold of frame visual warning, r=benwa 2015-02-06 14:38:16 +08:00
Jim Mathies
f53c479605 Bug 1095754 - Compositor plumbing for plugin configuration. r=roc 2015-01-29 13:41:55 -06:00
Kyle Huey
7c82e6dd0a Bug 1121673: Use move references in IPDL. r=bent 2015-01-16 11:58:52 -08:00
Botond Ballo
9f93609fd6 Bug 1076241 - Add an API for setting a resolution on a document and scaling it by that amount. r=kats,tn 2015-01-02 20:06:14 -05:00
Vladimir Vukicevic
200399e6f3 Bug 1036602 - add generic gfx/layers functionality for VR rendering; r=nical 2014-07-09 12:26:18 -07:00
Ehsan Akhgari
55f0b72a28 Bug 1088838 - Don't export CompositorChild.h, CompositorParent.h and ShadowLayersManager.h twice; r=BenWa 2014-10-27 08:57:36 -04:00
Kartikaya Gupta
72ea4fdacd Bug 1013612 - Remove APZ-internal headers from being exported to non-layers code. r=botond 2014-10-16 09:23:52 -04:00
Jonathan Watt
08d7dd3f8f Bug 1082483, part 2 - Convert Mozilla code to use the new Matrix4x4::PreTranslate/PreScale method names. r=Bas 2014-10-16 10:51:12 +01:00
Jonathan Watt
c1c0f335ce Bug 1082477, part 1 - Convert Matrix4x4::TranslatePost/ScalePost callers to Matrix4x4::PostTranslate/PostScale. r=Bas 2014-10-16 10:51:12 +01:00
Nicolas Silva
1b96a7f2be Bug 966284 - Fix the shutdown sequence of PLayerTransaction and PTexture. r=sotaro 2014-10-13 10:43:59 +02:00
Sotaro Ikeda
bda824b950 Bug 1076868 - Fix RemoveTextureFromCompositableAsync() call handling r=nical 2014-10-07 11:37:15 -07:00
Sotaro Ikeda
bae6e432e4 Bug 1067455 - Reduce Fence::merge() call on compositor thread r=nical 2014-10-06 15:45:03 -07:00
Mason Chang
32d0a8588d Bug 1075096 - Separate LayerTransactions in profiler. r=benwa 2014-10-01 11:38:00 +02:00
Phil Ringnalda
674424f954 Back out ef1cd14c8cac (bug 1067455) for Windows assertion failures
CLOSED TREE
2014-10-05 19:16:56 -07:00
Sotaro Ikeda
41fa2ab6fd Bug 1067455 - Reduce Fence::merge() call on compositor thread r=nical 2014-10-05 14:14:33 -07:00
Markus Stange
7d5a3be591 Bug 1073103 - Rename ThebesLayer to PaintedLayer. r=roc
--HG--
rename : gfx/layers/basic/BasicThebesLayer.cpp => gfx/layers/basic/BasicPaintedLayer.cpp
rename : gfx/layers/basic/BasicThebesLayer.h => gfx/layers/basic/BasicPaintedLayer.h
rename : gfx/layers/client/ClientThebesLayer.cpp => gfx/layers/client/ClientPaintedLayer.cpp
rename : gfx/layers/client/ClientThebesLayer.h => gfx/layers/client/ClientPaintedLayer.h
rename : gfx/layers/client/ClientTiledThebesLayer.cpp => gfx/layers/client/ClientTiledPaintedLayer.cpp
rename : gfx/layers/client/ClientTiledThebesLayer.h => gfx/layers/client/ClientTiledPaintedLayer.h
rename : gfx/layers/composite/ThebesLayerComposite.cpp => gfx/layers/composite/PaintedLayerComposite.cpp
rename : gfx/layers/composite/ThebesLayerComposite.h => gfx/layers/composite/PaintedLayerComposite.h
rename : gfx/layers/d3d10/ThebesLayerD3D10.cpp => gfx/layers/d3d10/PaintedLayerD3D10.cpp
rename : gfx/layers/d3d10/ThebesLayerD3D10.h => gfx/layers/d3d10/PaintedLayerD3D10.h
rename : gfx/layers/d3d9/ThebesLayerD3D9.cpp => gfx/layers/d3d9/PaintedLayerD3D9.cpp
rename : gfx/layers/d3d9/ThebesLayerD3D9.h => gfx/layers/d3d9/PaintedLayerD3D9.h
2014-09-26 13:06:08 -04:00
Kartikaya Gupta
b20c5f944c Bug 1013385 - Add the layer bounds to the layers API and use it for checkerboarding. r=mattwoodrow,BenWa 2014-09-15 16:09:52 -04:00
Benoit Girard
f663585192 Bug 1057088 - Add a way to sync query compositor properties like overfill and HWC status. r=smaug,jrmuizel
--HG--
extra : rebase_source : 2791431bc77e939e78db3b888fc816c9d98294d3
2014-09-02 15:23:34 -04:00
Benoit Girard
3ce2052a5c Bug 1061846 - Add constants for transaction delay indicator. r=milan
--HG--
extra : rebase_source : 7176c689bd00e90590cc021ab35189720019c73e
2014-09-02 14:37:34 -04:00
Robert O'Callahan
bd45e1d4aa Bug 967844. Part 3: Setup FrameMetrics from FrameLayerBuilder based on animated geometry roots. r=mattwoodrow
--HG--
extra : rebase_source : 19593cafc17053d450905161fa7d4ce8721c58a0
2014-08-31 15:29:24 +12:00
Robert O'Callahan
021e1aa7f6 Bug 967844. Part 2: Move mContentDescription from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : b616a0ab2e5bb203a66a5f0b3644bdcbe5f17ce7
2014-08-30 00:23:25 +12:00
Robert O'Callahan
c8b6ed281b Bug 967844. Part 1: Move mBackgroundColor from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : d7cf8756678cc342e1d648638dd867c5479b74ba
2014-08-30 00:23:25 +12:00
Phil Ringnalda
a8940eb5c6 Backed out 3 changesets (bug 967844) for robopan bustage
Backed out changeset 6b53305f1c42 (bug 967844)
Backed out changeset dff3eb181f33 (bug 967844)
Backed out changeset 4d4b03442eaf (bug 967844)
2014-09-01 15:20:13 -07:00
Robert O'Callahan
83635319fd Bug 967844. Part 3: Setup FrameMetrics from FrameLayerBuilder based on animated geometry roots. r=mattwoodrow
--HG--
extra : rebase_source : d30d2af626038cc556fcd3add9a3876be2c58239
2014-08-31 15:29:24 +12:00
Robert O'Callahan
a67165f077 Bug 967844. Part 2: Move mContentDescription from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : d5a2d8ea13369db215e96e721efc3ce0b354a523
2014-08-30 00:23:25 +12:00
Robert O'Callahan
24299705bb Bug 967844. Part 1: Move mBackgroundColor from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : b5fd1fd1b0b1f55990e72d205cc871a46d5f4f8c
2014-08-30 00:23:25 +12:00
David Zbarsky
205b93ba09 Bug 1060165: Remove gfxPoint3D r=nical 2014-08-29 14:47:30 -04:00
Benoit Girard
d83f3e3d33 Bug 1055050 - Add visual warning if the transaction latency is > 100 ms. r=mwoodrow
--HG--
extra : rebase_source : 23140892b8e598c7073dd1b8c83fbddfa0bf52ee
2014-08-28 15:24:26 -04:00
Kartikaya Gupta
e0a4bd21ea Bug 1055760 - Update SetAsyncScrollOffset test API to deal wth multiple FrameMetrics. r=roc 2014-08-27 22:13:43 -04:00