From 5e1eb6f49e8deb1caade05673e2a5ceb1cac7a0d Mon Sep 17 00:00:00 2001 From: Matt Woodrow Date: Mon, 22 Apr 2013 14:40:52 +1200 Subject: [PATCH] Bug 809273 - Remove old buffer provider code. r=nrc --- gfx/layers/ThebesLayerBuffer.cpp | 18 ++++--------- gfx/layers/ThebesLayerBuffer.h | 40 ++++++++--------------------- gfx/layers/client/ContentClient.cpp | 4 +-- 3 files changed, 18 insertions(+), 44 deletions(-) diff --git a/gfx/layers/ThebesLayerBuffer.cpp b/gfx/layers/ThebesLayerBuffer.cpp index 82343a6910a..fc0318053aa 100644 --- a/gfx/layers/ThebesLayerBuffer.cpp +++ b/gfx/layers/ThebesLayerBuffer.cpp @@ -294,10 +294,7 @@ ThebesLayerBuffer::BufferContentType() return mBuffer->GetContentType(); } if (mBufferProvider) { - return mBufferProvider->ContentType(); - } - if (mTextureClientForBuffer) { - return mTextureClientForBuffer->GetContentType(); + return mBufferProvider->GetContentType(); } if (mDTBuffer) { switch (mDTBuffer->GetFormat()) { @@ -324,16 +321,11 @@ ThebesLayerBuffer::BufferSizeOkFor(const nsIntSize& aSize) void ThebesLayerBuffer::EnsureBuffer() { - MOZ_ASSERT(!mBufferProvider || !mTextureClientForBuffer, - "Can't have both kinds of buffer provider."); - if (!mBuffer && mBufferProvider) { - mBuffer = mBufferProvider->Get(); - } - if ((!mBuffer && !mDTBuffer) && mTextureClientForBuffer) { + if ((!mBuffer && !mDTBuffer) && mBufferProvider) { if (SupportsAzureContent()) { - mDTBuffer = mTextureClientForBuffer->LockDrawTarget(); + mDTBuffer = mBufferProvider->LockDrawTarget(); } else { - mBuffer = mTextureClientForBuffer->LockSurface(); + mBuffer = mBufferProvider->LockSurface(); } } } @@ -341,7 +333,7 @@ ThebesLayerBuffer::EnsureBuffer() bool ThebesLayerBuffer::HaveBuffer() { - return mDTBuffer || mBuffer || mBufferProvider || mTextureClientForBuffer; + return mDTBuffer || mBuffer || mBufferProvider; } static void diff --git a/gfx/layers/ThebesLayerBuffer.h b/gfx/layers/ThebesLayerBuffer.h index aedab1c366e..c89b6af724a 100644 --- a/gfx/layers/ThebesLayerBuffer.h +++ b/gfx/layers/ThebesLayerBuffer.h @@ -130,7 +130,6 @@ public: ThebesLayerBuffer(BufferSizePolicy aBufferSizePolicy) : mBufferProvider(nullptr) - , mTextureClientForBuffer(nullptr) , mBufferSizePolicy(aBufferSizePolicy) { MOZ_COUNT_CTOR(ThebesLayerBuffer); @@ -149,7 +148,6 @@ public: mBuffer = nullptr; mDTBuffer = nullptr; mBufferProvider = nullptr; - mTextureClientForBuffer = nullptr; mBufferRect.SetEmpty(); } @@ -241,42 +239,27 @@ protected: } /** - * Set the buffer provider only. This is used with surfaces that - * require explicit map/unmap, which |aProvider| is used to do on + * Set the texture client only. This is used with surfaces that + * require explicit lock/unlock, which |aClient| is used to do on * demand in this code. * - * It's the caller's responsibility to ensure |aProvider| is valid + * It's the caller's responsibility to ensure |aClient| is valid * for the duration of operations it requests of this * ThebesLayerBuffer. It's also the caller's responsibility to * unset the provider when inactive, by calling * SetBufferProvider(nullptr). */ - void SetBufferProvider(AutoOpenSurface* aProvider) + void SetBufferProvider(TextureClient* aClient) { - NS_ASSERTION(!mTextureClientForBuffer, "Can't have a TextureClient and a buffer provider"); - mBufferProvider = aProvider; + // Only this buffer provider can give us a buffer. If we + // already have one, something has gone wrong. + MOZ_ASSERT(!aClient || (!mBuffer && !mDTBuffer)); + + mBufferProvider = aClient; if (!mBufferProvider) { mBuffer = nullptr; - } else { - // Only this buffer provider can give us a buffer. If we - // already have one, something has gone wrong. - MOZ_ASSERT(!mBuffer); - } - } - - // As SetBufferProvider, but using a texture client as the provider - void SetTextureClientForBuffer(TextureClient* aClient) - { - NS_ASSERTION(!mBufferProvider, "Can't have a TextureClient and a buffer provider"); - mTextureClientForBuffer = aClient; - if (!mTextureClientForBuffer) { - mBuffer = nullptr; mDTBuffer = nullptr; - } else { - // Only this buffer provider can give us a buffer. If we - // already have one, something has gone wrong. - MOZ_ASSERT(!mBuffer && !mDTBuffer); - } + } } /** @@ -313,8 +296,7 @@ protected: * when we're using surfaces that require explicit map/unmap. Only one * may be used at a time. */ - AutoOpenSurface* mBufferProvider; - TextureClient* mTextureClientForBuffer; + TextureClient* mBufferProvider; BufferSizePolicy mBufferSizePolicy; }; diff --git a/gfx/layers/client/ContentClient.cpp b/gfx/layers/client/ContentClient.cpp index 5986785bb35..7bb8bdfe232 100644 --- a/gfx/layers/client/ContentClient.cpp +++ b/gfx/layers/client/ContentClient.cpp @@ -86,7 +86,7 @@ ContentClientRemote::BeginPaint() // XXX: So we might not have a TextureClient yet.. because it will // only be created by CreateBuffer.. which will deliver a locked surface!. if (mTextureClient) { - SetTextureClientForBuffer(mTextureClient); + SetBufferProvider(mTextureClient); } } @@ -95,7 +95,7 @@ ContentClientRemote::EndPaint() { // XXX: We might still not have a texture client if PaintThebes // decided we didn't need one yet because the region to draw was empty. - SetTextureClientForBuffer(nullptr); + SetBufferProvider(nullptr); mOldTextures.Clear(); if (mTextureClient) {