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

This commit is contained in:
Nicolas Silva 2015-02-02 15:30:55 +01:00
parent 6c8a3bfaa6
commit 6c14bade97

View File

@ -1066,9 +1066,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();
@ -1288,8 +1290,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)) {