Backed out changeset 59759503b889 (bug 1483533) for test failures RefPtr CLOSED TREE

This commit is contained in:
Ciure Andrei 2018-09-18 08:54:29 +03:00
Родитель 31f0693d4a
Коммит 3e6299cfc7
3 изменённых файлов: 0 добавлений и 21 удалений

Просмотреть файл

@ -46,7 +46,6 @@ TextureSourceProvider::ReadUnlockTextures()
texture->ReadUnlock();
}
#endif
mReferenceUntilAfterComposition.Clear();
mUnlockAfterComposition.Clear();
}
@ -56,12 +55,6 @@ TextureSourceProvider::UnlockAfterComposition(TextureHost* aTexture)
mUnlockAfterComposition.AppendElement(aTexture);
}
void
TextureSourceProvider::ReferenceUntilAfterComposition(TextureHost* aTexture)
{
mReferenceUntilAfterComposition.AppendElement(aTexture);
}
bool
TextureSourceProvider::NotifyNotUsedAfterComposition(TextureHost* aTextureHost)
{

Просмотреть файл

@ -64,13 +64,6 @@ public:
/// the texture itself requires it.
virtual void UnlockAfterComposition(TextureHost* aTexture);
/// This is used for client storage support on OSX. On Nvidia hardware, it
/// seems that if we glDeleteTextures on a texture too early, even if we've
/// waited on the texture with glFinishObjectAPPLE, we'll see visual defects.
/// This just holds a reference to the texture until ReadUnlockTextures,
/// but we don't need to unlock it since we have already done so.
void ReferenceUntilAfterComposition(TextureHost* aTexture);
/// Most compositor backends operate asynchronously under the hood. This
/// means that when a layer stops using a texture it is often desirable to
/// wait for the end of the next composition before NotifyNotUsed() call.
@ -138,9 +131,6 @@ private:
// An array of locks that will need to be unlocked after the next composition.
nsTArray<RefPtr<TextureHost>> mUnlockAfterComposition;
// See ReferenceUntilAfterComposition.
nsTArray<RefPtr<TextureHost>> mReferenceUntilAfterComposition;
// An array of TextureHosts that will need to call NotifyNotUsed() after the next composition.
nsTArray<RefPtr<TextureHost>> mNotifyNotUsedAfterComposition;
};

Просмотреть файл

@ -927,10 +927,6 @@ BufferTextureHost::UnbindTextureSource()
mFirstSource->Unbind();
}
if (mFirstSource->IsDirectMap() && mProvider) {
mProvider->ReferenceUntilAfterComposition(this);
}
// This texture is not used by any layer anymore.
// If the texture doesn't have an intermediate buffer, it means we are
// compositing synchronously on the CPU, so we don't need to wait until