author | Thomas Zimmermann <tdz@users.sourceforge.net> |
Wed, 30 Mar 2016 10:59:08 +0200 | |
changeset 290871 | dc37c0e8f1351a5cd08960a53cfcc9cf753d26dc |
parent 290870 | 1af60d28e0147fb846f9e6856976ea4dff9c38a6 |
child 290872 | 90e08b7ccdd35136009da55794590d6a356f6e1a |
push id | 74402 |
push user | tdz@users.sourceforge.net |
push date | Wed, 30 Mar 2016 11:11:29 +0000 |
treeherder | mozilla-inbound@dc37c0e8f135 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | dvander |
bugs | 1260391 |
milestone | 48.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/gfx/layers/ipc/LayerTransactionParent.cpp +++ b/gfx/layers/ipc/LayerTransactionParent.cpp @@ -1005,18 +1005,26 @@ bool LayerTransactionParent::RecvChildAsyncMessages(InfallibleTArray<AsyncChildMessageData>&& aMessages) { AutoLayerTransactionParentAsyncMessageSender autoAsyncMessageSender(this); for (AsyncChildMessageArray::index_type i = 0; i < aMessages.Length(); ++i) { const AsyncChildMessageData& message = aMessages[i]; switch (message.type()) { - case AsyncChildMessageData::TOpRemoveTextureAsync: { - const OpRemoveTextureAsync& op = message.get_OpRemoveTextureAsync(); + case AsyncChildMessageData::TCompositableOperation: { + + const CompositableOperation& compositable_op = + message.get_CompositableOperation(); + MOZ_ASSERT(compositable_op.detail().type() == + CompositableOperationDetail::TOpRemoveTextureAsync); + + const OpRemoveTextureAsync& op = + compositable_op.detail().get_OpRemoveTextureAsync(); + CompositableHost* compositable = CompositableHost::FromIPDLActor(op.compositableParent()); RefPtr<TextureHost> tex = TextureHost::AsTextureHost(op.textureParent()); MOZ_ASSERT(tex.get()); compositable->RemoveTextureHost(tex); MOZ_ASSERT(ImageBridgeParent::GetInstance(GetChildProcessId())); if (ImageBridgeParent::GetInstance(GetChildProcessId())) {
--- a/gfx/layers/ipc/LayersMessages.ipdlh +++ b/gfx/layers/ipc/LayersMessages.ipdlh @@ -510,13 +510,13 @@ union EditReply { union AsyncParentMessageData { OpDeliverFence; OpDeliverFenceToTracker; OpReplyRemoveTexture; }; union AsyncChildMessageData { - OpRemoveTextureAsync; + CompositableOperation; }; } // namespace } // namespace
--- a/gfx/layers/ipc/ShadowLayers.h +++ b/gfx/layers/ipc/ShadowLayers.h @@ -392,17 +392,17 @@ protected: bool InWorkerThread(); RefPtr<LayerTransactionChild> mShadowManager; private: Transaction* mTxn; MessageLoop* mMessageLoop; - std::vector<AsyncChildMessageData> mPendingAsyncMessages; + std::vector<CompositableOperation> mPendingAsyncMessages; DiagnosticTypes mDiagnosticTypes; bool mIsFirstPaint; bool mWindowOverlayChanged; int32_t mPaintSyncId; InfallibleTArray<PluginWindowData> mPluginWindowData; FixedSizeSmallShmemSectionAllocator* mSectionAllocator; };