Backed out changeset 6952d9fe4f36 (bug 1129871) for causing R14/R15 Test failures

This commit is contained in:
Carsten "Tomcat" Book
2015-02-17 14:36:42 +01:00
parent 856498435c
commit 61246f6921
5 changed files with 41 additions and 32 deletions

View File

@@ -1059,7 +1059,7 @@ ClientTiledLayerBuffer::PostValidate(const nsIntRegion& aPaintRegion)
}
void
ClientTiledLayerBuffer::UnlockTile(TileClient& aTile)
ClientTiledLayerBuffer::UnlockTile(TileClient aTile)
{
// We locked the back buffer, and flipped so we now need to unlock the front
if (aTile.mFrontBuffer && aTile.mFrontBuffer->IsLocked()) {
@@ -1078,8 +1078,8 @@ ClientTiledLayerBuffer::UnlockTile(TileClient& aTile)
}
}
void
ClientTiledLayerBuffer::ValidateTile(TileClient& aTile,
TileClient
ClientTiledLayerBuffer::ValidateTile(TileClient aTile,
const nsIntPoint& aTileOrigin,
const nsIntRegion& aDirtyRegion)
{
@@ -1120,24 +1120,27 @@ ClientTiledLayerBuffer::ValidateTile(TileClient& aTile,
if (!backBuffer) {
NS_WARNING("Failed to allocate a tile TextureClient");
aTile.Release();
return;
aTile.DiscardBackBuffer();
aTile.DiscardFrontBuffer();
return TileClient();
}
// the back buffer may have been already locked in ValidateBackBufferFromFront
if (!backBuffer->IsLocked()) {
if (!backBuffer->Lock(OpenMode::OPEN_READ_WRITE)) {
NS_WARNING("Failed to lock a tile TextureClient");
aTile.Release();
return;
aTile.DiscardBackBuffer();
aTile.DiscardFrontBuffer();
return TileClient();
}
}
if (backBufferOnWhite && !backBufferOnWhite->IsLocked()) {
if (!backBufferOnWhite->Lock(OpenMode::OPEN_READ_WRITE)) {
NS_WARNING("Failed to lock tile TextureClient for updating.");
aTile.Release();
return;
aTile.DiscardBackBuffer();
aTile.DiscardFrontBuffer();
return TileClient();
}
}
@@ -1145,13 +1148,15 @@ ClientTiledLayerBuffer::ValidateTile(TileClient& aTile,
if (createdTextureClient) {
if (!mCompositableClient->AddTextureClient(backBuffer)) {
NS_WARNING("Failed to add tile TextureClient.");
aTile.Release();
return;
aTile.DiscardFrontBuffer();
aTile.DiscardBackBuffer();
return aTile;
}
if (backBufferOnWhite && !mCompositableClient->AddTextureClient(backBufferOnWhite)) {
NS_WARNING("Failed to add tile TextureClient.");
aTile.Release();
return;
aTile.DiscardFrontBuffer();
aTile.DiscardBackBuffer();
return aTile;
}
}
@@ -1167,9 +1172,9 @@ ClientTiledLayerBuffer::ValidateTile(TileClient& aTile,
}
moz2DTile.mTileOrigin = gfx::IntPoint(aTileOrigin.x, aTileOrigin.y);
if (!dt || (backBufferOnWhite && !dtOnWhite)) {
NS_WARNING("Failed to get a DrawTarget from a tile");
aTile.Release();
return;
aTile.DiscardFrontBuffer();
aTile.DiscardBackBuffer();
return aTile;
}
mMoz2DTiles.push_back(moz2DTile);
@@ -1202,7 +1207,7 @@ ClientTiledLayerBuffer::ValidateTile(TileClient& aTile,
aTile.Flip();
return;
return aTile;
}
// Single paint buffer case:
@@ -1286,8 +1291,9 @@ ClientTiledLayerBuffer::ValidateTile(TileClient& aTile,
if (createdTextureClient) {
if (!mCompositableClient->AddTextureClient(backBuffer)) {
NS_WARNING("Failed to add tile TextureClient.");
aTile.Release();
return;
aTile.DiscardFrontBuffer();
aTile.DiscardBackBuffer();
return aTile;
}
}
@@ -1301,6 +1307,8 @@ ClientTiledLayerBuffer::ValidateTile(TileClient& aTile,
// TextureClient around unnecessarily, so discard the back-buffer.
aTile.DiscardBackBuffer();
}
return aTile;
}
/**