Bug 1127289 - Add missing synchronization in TiledContentClient with DrawTargetTiled. r=sotaro

This commit is contained in:
Nicolas Silva 2015-02-03 18:16:20 +01:00
parent 2c8249e21a
commit 1246c2d341

View File

@ -1064,9 +1064,11 @@ 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()) {
aTile.mFrontBuffer->Unlock();
aTile.mFrontBuffer->SyncWithObject(mCompositableClient->GetForwarder()->GetSyncObject());
}
if (aTile.mFrontBufferOnWhite && aTile.mFrontBufferOnWhite->IsLocked()) {
aTile.mFrontBufferOnWhite->Unlock();
aTile.mFrontBufferOnWhite->SyncWithObject(mCompositableClient->GetForwarder()->GetSyncObject());
}
if (aTile.mBackBuffer && aTile.mBackBuffer->IsLocked()) {
aTile.mBackBuffer->Unlock();
@ -1284,8 +1286,6 @@ ClientTiledLayerBuffer::ValidateTile(TileClient aTile,
tileRegion.SubOut(aDirtyRegion); // Has now been validated
backBuffer->SetWaste(tileRegion.Area() * mResolution * mResolution);
backBuffer->Unlock();
backBuffer->SyncWithObject(mCompositableClient->GetForwarder()->GetSyncObject());
if (createdTextureClient) {
if (!mCompositableClient->AddTextureClient(backBuffer)) {