Backed out changeset 6952d9fe4f36 (bug 1129871) for causing R14/R15 Test failures
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user