author | Matt Woodrow <mwoodrow@mozilla.com> |
Thu, 16 Feb 2017 11:30:46 +1300 | |
changeset 343211 | 6e42452c2616386464dbdc1cdd08deafe31387e4 |
parent 343210 | 82c34cf618e8a3ba422e35f13d5041b0544893da |
child 343212 | c0e8497f31c90ee402404315e08db52242fb8b0b |
push id | 31372 |
push user | cbook@mozilla.com |
push date | Thu, 16 Feb 2017 12:16:10 +0000 |
treeherder | mozilla-central@2737f66ad6ac [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | nical |
bugs | 1328797 |
milestone | 54.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/ImageBridgeChild.cpp +++ b/gfx/layers/ipc/ImageBridgeChild.cpp @@ -1094,25 +1094,19 @@ ImageBridgeChild::RemoveTextureFromCompo MOZ_ASSERT(CanSend()); MOZ_ASSERT(aTexture); MOZ_ASSERT(aTexture->IsSharedWithCompositor()); MOZ_ASSERT(aCompositable->IsConnected()); if (!aTexture || !aTexture->IsSharedWithCompositor() || !aCompositable->IsConnected()) { return; } - CompositableOperation op( + mTxn->AddNoSwapEdit(CompositableOperation( aCompositable->GetIPCHandle(), - OpRemoveTexture(nullptr, aTexture->GetIPDLActor())); - - if (aTexture->GetFlags() & TextureFlags::DEALLOCATE_CLIENT) { - mTxn->AddEdit(op); - } else { - mTxn->AddNoSwapEdit(op); - } + OpRemoveTexture(nullptr, aTexture->GetIPDLActor()))); } bool ImageBridgeChild::IsSameProcess() const { return OtherPid() == base::GetCurrentProcId(); } bool
--- a/gfx/layers/ipc/ShadowLayers.cpp +++ b/gfx/layers/ipc/ShadowLayers.cpp @@ -517,19 +517,16 @@ ShadowLayerForwarder::RemoveTextureFromC // We don't have an actor anymore, don't try to use it! return; } mTxn->AddEdit( CompositableOperation( aCompositable->GetIPCHandle(), OpRemoveTexture(nullptr, aTexture->GetIPDLActor()))); - if (aTexture->GetFlags() & TextureFlags::DEALLOCATE_CLIENT) { - mTxn->MarkSyncTransaction(); - } } bool ShadowLayerForwarder::InWorkerThread() { return MessageLoop::current() && (GetTextureForwarder()->GetMessageLoop()->id() == MessageLoop::current()->id()); }
--- a/gfx/layers/wr/WebRenderBridgeChild.cpp +++ b/gfx/layers/wr/WebRenderBridgeChild.cpp @@ -219,19 +219,16 @@ WebRenderBridgeChild::RemoveTextureFromC // We don't have an actor anymore, don't try to use it! return; } AddWebRenderCommand( CompositableOperation( aCompositable->GetIPCHandle(), OpRemoveTexture(nullptr, aTexture->GetIPDLActor()))); - if (aTexture->GetFlags() & TextureFlags::DEALLOCATE_CLIENT) { - MarkSyncTransaction(); - } } void WebRenderBridgeChild::UseTextures(CompositableClient* aCompositable, const nsTArray<TimedTextureClient>& aTextures) { MOZ_ASSERT(aCompositable); @@ -246,25 +243,16 @@ WebRenderBridgeChild::UseTextures(Compos MOZ_ASSERT(t.mTextureClient->GetIPDLActor()); MOZ_RELEASE_ASSERT(t.mTextureClient->GetIPDLActor()->GetIPCChannel() == GetIPCChannel()); ReadLockDescriptor readLock; t.mTextureClient->SerializeReadLock(readLock); textures.AppendElement(TimedTexture(nullptr, t.mTextureClient->GetIPDLActor(), readLock, t.mTimeStamp, t.mPictureRect, t.mFrameID, t.mProducerID)); - if ((t.mTextureClient->GetFlags() & TextureFlags::IMMEDIATE_UPLOAD) - && t.mTextureClient->HasIntermediateBuffer()) { - - // We use IMMEDIATE_UPLOAD when we want to be sure that the upload cannot - // race with updates on the main thread. In this case we want the transaction - // to be synchronous. - - MarkSyncTransaction(); - } GetCompositorBridgeChild()->HoldUntilCompositableRefReleasedIfNecessary(t.mTextureClient); } AddWebRenderCommand(CompositableOperation(aCompositable->GetIPCHandle(), OpUseTexture(textures))); } void WebRenderBridgeChild::UseComponentAlphaTextures(CompositableClient* aCompositable,